[INFO] updating cached repository kaz399/corsim0 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/kaz399/corsim0 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/kaz399/corsim0" "work/ex/clippy-test-run/sources/stable/gh/kaz399/corsim0"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/kaz399/corsim0'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/kaz399/corsim0" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kaz399/corsim0"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kaz399/corsim0'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d9e51c9787e94c2281808aac643b7313edf358ef [INFO] sha for GitHub repo kaz399/corsim0: d9e51c9787e94c2281808aac643b7313edf358ef [INFO] validating manifest of kaz399/corsim0 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 kaz399/corsim0 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 kaz399/corsim0 [INFO] finished frobbing kaz399/corsim0 [INFO] frobbed toml for kaz399/corsim0 written to work/ex/clippy-test-run/sources/stable/gh/kaz399/corsim0/Cargo.toml [INFO] started frobbing kaz399/corsim0 [INFO] finished frobbing kaz399/corsim0 [INFO] frobbed toml for kaz399/corsim0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kaz399/corsim0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 kaz399/corsim0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/kaz399/corsim0:/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] d48cf081ecfcbef1afbd9526afa7de0693e35e662067086da3d7ca83299b0568 [INFO] running `"docker" "start" "-a" "d48cf081ecfcbef1afbd9526afa7de0693e35e662067086da3d7ca83299b0568"` [INFO] [stderr] Checking corsim0 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpu.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | system_map: system_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `system_map` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | apsr: apsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `apsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | epsr: epsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `epsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/device.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpu.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | system_map: system_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `system_map` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | apsr: apsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `apsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | epsr: epsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `epsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/device.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | cpuid: 0x410cc200, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x410c_c200` [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/cpu.rs:55:18 [INFO] [stderr] | [INFO] [stderr] 55 | ccr: 0xffffffff, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpu.rs:94:62 [INFO] [stderr] | [INFO] [stderr] 94 | self.system_map.read32(self.cpu.vtor).unwrap() & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:95:76 [INFO] [stderr] | [INFO] [stderr] 95 | self.cpu.pc = self.system_map.read32(self.cpu.vtor + 4).unwrap() & 0xfffffffe; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffe` [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/cpu.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | 0b11011110 => undefined_instruction(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1110` [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/cpu.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | 0b11011111 => service_call(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1111` [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/cpu.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | 0b01000111 => branch_exchange_instruction_set(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0100_0111` [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/cpu.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | 0b000110 => add_substract_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0110` [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/cpu.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | 0b000111 => add_substract_immediate(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0111` [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/cpu.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | 0b010000 => data_processing_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0000` [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/cpu.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | 0b010001 => special_data_processing(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0001` [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/cpu.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:262:43 [INFO] [stderr] | [INFO] [stderr] 262 | let pc_aligned: u32 = system.cpu.pc & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:360:31 [INFO] [stderr] | [INFO] [stderr] 360 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:413:31 [INFO] [stderr] | [INFO] [stderr] 413 | let opc: u16 = bytecode & 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/cpu.rs:414:31 [INFO] [stderr] | [INFO] [stderr] 414 | let imm: u16 = bytecode & 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [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/cpu.rs:508:33 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0b1111_1111_1111` [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/cpuflag.rs:48:30 [INFO] [stderr] | [INFO] [stderr] 48 | apsr |= &self.apsr & 0b0000011111111111111111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0011_1111_1111_1111_1111_1111_1111` [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/cpuflag.rs:104:45 [INFO] [stderr] | [INFO] [stderr] 104 | let lower_bit: u32 = (epsr >> 10) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [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/cpuflag.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | self.epsr = (itstate & 0b1100000) << 20; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b110_0000` [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/cpuflag.rs:139:33 [INFO] [stderr] | [INFO] [stderr] 139 | self.epsr |= (itstate & 0b0011111) << 10; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b001_1111` [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/cpuflag.rs:157:23 [INFO] [stderr] | [INFO] [stderr] 157 | r.result = (r64 & 0xffffffff) as u32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpuflag.rs:161:23 [INFO] [stderr] | [INFO] [stderr] 161 | val if (val & 0x00010000) != 0 => r.c = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/cpuflag.rs:162:21 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/cpuflag.rs:162:43 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / if self.readable { [INFO] [stderr] 57 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 58 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 59 | | let data16: u16 = [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 56 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 57 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 58 | let data16: u16 = [INFO] [stderr] 59 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] 60 | return Some(data16); [INFO] [stderr] 61 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / if self.readable { [INFO] [stderr] 69 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 70 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 71 | | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] ... | [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 68 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 69 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 70 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] 71 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] 72 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] 73 | | ((self.data[index]) as u32); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | / if self.writable { [INFO] [stderr] 90 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 91 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 92 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 93 | | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 89 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 90 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 91 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 92 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 93 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | / if self.writable { [INFO] [stderr] 100 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 101 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 102 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 99 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 100 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 101 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 102 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 103 | self.data[index + 2] = ((val >> 16) & 0xff) as u8; [INFO] [stderr] 104 | self.data[index + 3] = ((val >> 24) & 0xff) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:192:21 [INFO] [stderr] | [INFO] [stderr] 192 | return Ok(data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(data)` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | / return Err(format!( [INFO] [stderr] 196 | | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | | adrs, x.name [INFO] [stderr] 198 | | )); [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] 195 | Err(format!( [INFO] [stderr] 196 | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | adrs, x.name [INFO] [stderr] 198 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | / return Err(format!( [INFO] [stderr] 203 | | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | | adrs [INFO] [stderr] 205 | | )); [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] 202 | Err(format!( [INFO] [stderr] 203 | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | adrs [INFO] [stderr] 205 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::device::SystemMapAccess` [INFO] [stderr] --> src/lib.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::device::SystemMapAccess; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | const ROMADDR: u32 = 0x00000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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/lib.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | const RAMADDR: u32 = 0x10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1000_0000` [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/cpu.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | cpuid: 0x410cc200, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x410c_c200` [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/cpu.rs:55:18 [INFO] [stderr] | [INFO] [stderr] 55 | ccr: 0xffffffff, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpu.rs:94:62 [INFO] [stderr] | [INFO] [stderr] 94 | self.system_map.read32(self.cpu.vtor).unwrap() & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:95:76 [INFO] [stderr] | [INFO] [stderr] 95 | self.cpu.pc = self.system_map.read32(self.cpu.vtor + 4).unwrap() & 0xfffffffe; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffe` [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/cpu.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | 0b11011110 => undefined_instruction(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1110` [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/cpu.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | 0b11011111 => service_call(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1111` [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/cpu.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | 0b01000111 => branch_exchange_instruction_set(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0100_0111` [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/cpu.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | 0b000110 => add_substract_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0110` [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/cpu.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | 0b000111 => add_substract_immediate(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0111` [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/cpu.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | 0b010000 => data_processing_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0000` [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/cpu.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | 0b010001 => special_data_processing(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0001` [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/cpu.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:262:43 [INFO] [stderr] | [INFO] [stderr] 262 | let pc_aligned: u32 = system.cpu.pc & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:360:31 [INFO] [stderr] | [INFO] [stderr] 360 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:413:31 [INFO] [stderr] | [INFO] [stderr] 413 | let opc: u16 = bytecode & 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/cpu.rs:414:31 [INFO] [stderr] | [INFO] [stderr] 414 | let imm: u16 = bytecode & 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [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/cpu.rs:508:33 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0b1111_1111_1111` [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/cpuflag.rs:48:30 [INFO] [stderr] | [INFO] [stderr] 48 | apsr |= &self.apsr & 0b0000011111111111111111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0011_1111_1111_1111_1111_1111_1111` [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/cpuflag.rs:104:45 [INFO] [stderr] | [INFO] [stderr] 104 | let lower_bit: u32 = (epsr >> 10) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [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/cpuflag.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | self.epsr = (itstate & 0b1100000) << 20; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b110_0000` [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/cpuflag.rs:139:33 [INFO] [stderr] | [INFO] [stderr] 139 | self.epsr |= (itstate & 0b0011111) << 10; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b001_1111` [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/cpuflag.rs:157:23 [INFO] [stderr] | [INFO] [stderr] 157 | r.result = (r64 & 0xffffffff) as u32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpuflag.rs:161:23 [INFO] [stderr] | [INFO] [stderr] 161 | val if (val & 0x00010000) != 0 => r.c = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/cpuflag.rs:162:21 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/cpuflag.rs:162:43 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/cpuflag.rs:204:29 [INFO] [stderr] | [INFO] [stderr] 204 | let test_pattern: u32 = 0b0000011111111111111111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0011_1111_1111_1111_1111_1111_1111` [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: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / if self.readable { [INFO] [stderr] 57 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 58 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 59 | | let data16: u16 = [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 56 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 57 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 58 | let data16: u16 = [INFO] [stderr] 59 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] 60 | return Some(data16); [INFO] [stderr] 61 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / if self.readable { [INFO] [stderr] 69 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 70 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 71 | | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] ... | [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 68 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 69 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 70 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] 71 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] 72 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] 73 | | ((self.data[index]) as u32); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | / if self.writable { [INFO] [stderr] 90 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 91 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 92 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 93 | | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 89 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 90 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 91 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 92 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 93 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | / if self.writable { [INFO] [stderr] 100 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 101 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 102 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 99 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 100 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 101 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 102 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 103 | self.data[index + 2] = ((val >> 16) & 0xff) as u8; [INFO] [stderr] 104 | self.data[index + 3] = ((val >> 24) & 0xff) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:192:21 [INFO] [stderr] | [INFO] [stderr] 192 | return Ok(data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(data)` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | / return Err(format!( [INFO] [stderr] 196 | | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | | adrs, x.name [INFO] [stderr] 198 | | )); [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] 195 | Err(format!( [INFO] [stderr] 196 | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | adrs, x.name [INFO] [stderr] 198 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | / return Err(format!( [INFO] [stderr] 203 | | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | | adrs [INFO] [stderr] 205 | | )); [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] 202 | Err(format!( [INFO] [stderr] 203 | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | adrs [INFO] [stderr] 205 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | const ROMADDR: u32 = 0x00000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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/lib.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | const RAMADDR: u32 = 0x10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1000_0000` [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: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:214:37 [INFO] [stderr] | [INFO] [stderr] 214 | fn shift_by_immediate_move_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:220:27 [INFO] [stderr] | [INFO] [stderr] 220 | fn add_substract_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:226:28 [INFO] [stderr] | [INFO] [stderr] 226 | fn add_substract_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:232:41 [INFO] [stderr] | [INFO] [stderr] 232 | fn add_substract_compare_move_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:238:29 [INFO] [stderr] | [INFO] [stderr] 238 | fn data_processing_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:244:28 [INFO] [stderr] | [INFO] [stderr] 244 | fn special_data_processing(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | fn branch_exchange_instruction_set(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:292:31 [INFO] [stderr] | [INFO] [stderr] 292 | fn load_store_register_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:310:32 [INFO] [stderr] | [INFO] [stderr] 310 | fn loade_word_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:316:32 [INFO] [stderr] | [INFO] [stderr] 316 | fn store_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:322:32 [INFO] [stderr] | [INFO] [stderr] 322 | fn loade_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:328:36 [INFO] [stderr] | [INFO] [stderr] 328 | fn store_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:334:35 [INFO] [stderr] | [INFO] [stderr] 334 | fn load_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:340:19 [INFO] [stderr] | [INFO] [stderr] 340 | fn store_to_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:346:20 [INFO] [stderr] | [INFO] [stderr] 346 | fn load_from_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:352:14 [INFO] [stderr] | [INFO] [stderr] 352 | fn add_to_pc(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bit_07_04` [INFO] [stderr] --> src/cpu.rs:375:9 [INFO] [stderr] | [INFO] [stderr] 375 | let bit_07_04 = (bytecode >> 4) & 0xf; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_bit_07_04` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:434:21 [INFO] [stderr] | [INFO] [stderr] 434 | fn sign_zero_extend(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:440:19 [INFO] [stderr] | [INFO] [stderr] 440 | fn store_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:446:18 [INFO] [stderr] | [INFO] [stderr] 446 | fn load_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:452:23 [INFO] [stderr] | [INFO] [stderr] 452 | fn conditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:464:17 [INFO] [stderr] | [INFO] [stderr] 464 | fn service_call(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:470:25 [INFO] [stderr] | [INFO] [stderr] 470 | fn unconditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:476:28 [INFO] [stderr] | [INFO] [stderr] 476 | fn instruction_32bit_11101(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode32` [INFO] [stderr] --> src/cpu.rs:494:36 [INFO] [stderr] | [INFO] [stderr] 494 | fn data_processing_instructions_32(bytecode32: u32, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_bytecode32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load` [INFO] [stderr] --> src/cpu.rs:501:9 [INFO] [stderr] | [INFO] [stderr] 501 | let load: u32 = (bytecode32 >> 20) & 0b1; [INFO] [stderr] | ^^^^ help: consider using `_load` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signed` [INFO] [stderr] --> src/cpu.rs:502:9 [INFO] [stderr] | [INFO] [stderr] 502 | let signed: u32 = (bytecode32 >> 24) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_signed` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `upward` [INFO] [stderr] --> src/cpu.rs:503:9 [INFO] [stderr] | [INFO] [stderr] 503 | let upward: u32 = (bytecode32 >> 23) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_upward` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/cpu.rs:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | let size: u32 = (bytecode32 >> 21) & 0b11; [INFO] [stderr] | ^^^^ help: consider using `_size` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_target` [INFO] [stderr] --> src/cpu.rs:506:9 [INFO] [stderr] | [INFO] [stderr] 506 | let regnum_target: u32 = (bytecode32 >> 12) & 0b1111; // Rt [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_offset` [INFO] [stderr] --> src/cpu.rs:507:9 [INFO] [stderr] | [INFO] [stderr] 507 | let regnum_offset: u32 = bytecode32 & 0b1111; // Rm [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `imm` [INFO] [stderr] --> src/cpu.rs:508:9 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^ help: consider using `_imm` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | fn unpredicable(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:538:20 [INFO] [stderr] | [INFO] [stderr] 538 | fn not_impremented(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:548:8 [INFO] [stderr] | [INFO] [stderr] 548 | fn cbz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:553:9 [INFO] [stderr] | [INFO] [stderr] 553 | fn cbnz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:581:8 [INFO] [stderr] | [INFO] [stderr] 581 | fn pop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:587:7 [INFO] [stderr] | [INFO] [stderr] 587 | fn it(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:593:9 [INFO] [stderr] | [INFO] [stderr] 593 | fn bkpt(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:599:8 [INFO] [stderr] | [INFO] [stderr] 599 | fn dbg(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:605:8 [INFO] [stderr] | [INFO] [stderr] 605 | fn nop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:612:14 [INFO] [stderr] | [INFO] [stderr] 612 | fn cpu_yield(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:618:8 [INFO] [stderr] | [INFO] [stderr] 618 | fn wfe(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:624:8 [INFO] [stderr] | [INFO] [stderr] 624 | fn wfi(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:630:8 [INFO] [stderr] | [INFO] [stderr] 630 | fn sev(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn new(system_map: SystemMap) -> M0System { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_sp` [INFO] [stderr] --> src/cpu.rs:543:1 [INFO] [stderr] | [INFO] [stderr] 543 | fn add_sp(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ROMADDR` [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | const ROMADDR: u32 = 0x00000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ROMSIZE` [INFO] [stderr] --> src/lib.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const ROMSIZE: usize = 128; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RAMADDR` [INFO] [stderr] --> src/lib.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | const RAMADDR: u32 = 0x10000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RAMSIZE` [INFO] [stderr] --> src/lib.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | const RAMSIZE: usize = 128; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/cpu.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:261:22 [INFO] [stderr] | [INFO] [stderr] 261 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:361:22 [INFO] [stderr] | [INFO] [stderr] 361 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:415:22 [INFO] [stderr] | [INFO] [stderr] 415 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:566:84 [INFO] [stderr] | [INFO] [stderr] 566 | let mut current_sp: u32 = system.cpu.sp[system.cpu.ctrl_spsel] - bit_count(reglist as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(reglist)` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.q << 27)` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.v << 28)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.c << 29)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 47 | (self.n << 31) | (self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:151:20 [INFO] [stderr] | [INFO] [stderr] 151 | let a64: i64 = a as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(a)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | let b64: i64 = b as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(b)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | let c64: i64 = carry as i64; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(carry)` [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/device.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | / if mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size { [INFO] [stderr] 22 | | true [INFO] [stderr] 23 | | } else { [INFO] [stderr] 24 | | false [INFO] [stderr] 25 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:60:22 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[index + 1])` [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/device.rs:60:60 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((self.data[index]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:71:36 [INFO] [stderr] | [INFO] [stderr] 71 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.data[index + 3])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:72:24 [INFO] [stderr] | [INFO] [stderr] 72 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 2]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 1]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:74:23 [INFO] [stderr] | [INFO] [stderr] 74 | | ((self.data[index]) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index]))` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | / match self.get_device(adrs) { [INFO] [stderr] 212 | | Some(x) => x.write8(adrs, val), [INFO] [stderr] 213 | | None => (), [INFO] [stderr] 214 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write8(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | / match self.get_device(adrs) { [INFO] [stderr] 219 | | Some(x) => x.write16(adrs, val), [INFO] [stderr] 220 | | None => (), [INFO] [stderr] 221 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write16(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | / match self.get_device(adrs) { [INFO] [stderr] 226 | | Some(x) => x.write32(adrs, val), [INFO] [stderr] 227 | | None => (), [INFO] [stderr] 228 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write32(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:214:37 [INFO] [stderr] | [INFO] [stderr] 214 | fn shift_by_immediate_move_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:220:27 [INFO] [stderr] | [INFO] [stderr] 220 | fn add_substract_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:226:28 [INFO] [stderr] | [INFO] [stderr] 226 | fn add_substract_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:232:41 [INFO] [stderr] | [INFO] [stderr] 232 | fn add_substract_compare_move_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:238:29 [INFO] [stderr] | [INFO] [stderr] 238 | fn data_processing_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:244:28 [INFO] [stderr] | [INFO] [stderr] 244 | fn special_data_processing(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | fn branch_exchange_instruction_set(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:292:31 [INFO] [stderr] | [INFO] [stderr] 292 | fn load_store_register_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:310:32 [INFO] [stderr] | [INFO] [stderr] 310 | fn loade_word_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:316:32 [INFO] [stderr] | [INFO] [stderr] 316 | fn store_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:322:32 [INFO] [stderr] | [INFO] [stderr] 322 | fn loade_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:328:36 [INFO] [stderr] | [INFO] [stderr] 328 | fn store_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:334:35 [INFO] [stderr] | [INFO] [stderr] 334 | fn load_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:340:19 [INFO] [stderr] | [INFO] [stderr] 340 | fn store_to_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:346:20 [INFO] [stderr] | [INFO] [stderr] 346 | fn load_from_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:352:14 [INFO] [stderr] | [INFO] [stderr] 352 | fn add_to_pc(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bit_07_04` [INFO] [stderr] --> src/cpu.rs:375:9 [INFO] [stderr] | [INFO] [stderr] 375 | let bit_07_04 = (bytecode >> 4) & 0xf; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_bit_07_04` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:434:21 [INFO] [stderr] | [INFO] [stderr] 434 | fn sign_zero_extend(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:440:19 [INFO] [stderr] | [INFO] [stderr] 440 | fn store_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:446:18 [INFO] [stderr] | [INFO] [stderr] 446 | fn load_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:452:23 [INFO] [stderr] | [INFO] [stderr] 452 | fn conditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:464:17 [INFO] [stderr] | [INFO] [stderr] 464 | fn service_call(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:470:25 [INFO] [stderr] | [INFO] [stderr] 470 | fn unconditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:476:28 [INFO] [stderr] | [INFO] [stderr] 476 | fn instruction_32bit_11101(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode32` [INFO] [stderr] --> src/cpu.rs:494:36 [INFO] [stderr] | [INFO] [stderr] 494 | fn data_processing_instructions_32(bytecode32: u32, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_bytecode32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load` [INFO] [stderr] --> src/cpu.rs:501:9 [INFO] [stderr] | [INFO] [stderr] 501 | let load: u32 = (bytecode32 >> 20) & 0b1; [INFO] [stderr] | ^^^^ help: consider using `_load` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signed` [INFO] [stderr] --> src/cpu.rs:502:9 [INFO] [stderr] | [INFO] [stderr] 502 | let signed: u32 = (bytecode32 >> 24) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_signed` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `upward` [INFO] [stderr] --> src/cpu.rs:503:9 [INFO] [stderr] | [INFO] [stderr] 503 | let upward: u32 = (bytecode32 >> 23) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_upward` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/cpu.rs:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | let size: u32 = (bytecode32 >> 21) & 0b11; [INFO] [stderr] | ^^^^ help: consider using `_size` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_target` [INFO] [stderr] --> src/cpu.rs:506:9 [INFO] [stderr] | [INFO] [stderr] 506 | let regnum_target: u32 = (bytecode32 >> 12) & 0b1111; // Rt [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_offset` [INFO] [stderr] --> src/cpu.rs:507:9 [INFO] [stderr] | [INFO] [stderr] 507 | let regnum_offset: u32 = bytecode32 & 0b1111; // Rm [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `imm` [INFO] [stderr] --> src/cpu.rs:508:9 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^ help: consider using `_imm` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | fn unpredicable(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:538:20 [INFO] [stderr] | [INFO] [stderr] 538 | fn not_impremented(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:548:8 [INFO] [stderr] | [INFO] [stderr] 548 | fn cbz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:553:9 [INFO] [stderr] | [INFO] [stderr] 553 | fn cbnz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:581:8 [INFO] [stderr] | [INFO] [stderr] 581 | fn pop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:587:7 [INFO] [stderr] | [INFO] [stderr] 587 | fn it(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:593:9 [INFO] [stderr] | [INFO] [stderr] 593 | fn bkpt(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:599:8 [INFO] [stderr] | [INFO] [stderr] 599 | fn dbg(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:605:8 [INFO] [stderr] | [INFO] [stderr] 605 | fn nop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:612:14 [INFO] [stderr] | [INFO] [stderr] 612 | fn cpu_yield(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:618:8 [INFO] [stderr] | [INFO] [stderr] 618 | fn wfe(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:624:8 [INFO] [stderr] | [INFO] [stderr] 624 | fn wfi(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:630:8 [INFO] [stderr] | [INFO] [stderr] 630 | fn sev(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `write_val` [INFO] [stderr] --> src/lib.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let write_val: u8 = (i / 2) as u8; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_write_val` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | let mut ram: device::MemoryMappedDevice = device::MemoryMappedDevice { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let mut rom: device::MemoryMappedDevice = device::MemoryMappedDevice { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpu.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | system_map: system_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `system_map` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | apsr: apsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `apsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | epsr: epsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `epsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/device.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:79:21 [INFO] [stderr] | [INFO] [stderr] 79 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpu.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | system_map: system_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `system_map` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | apsr: apsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `apsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpuflag.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | epsr: epsr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `epsr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/device.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:79:21 [INFO] [stderr] | [INFO] [stderr] 79 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn new(system_map: SystemMap) -> M0System { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_sp` [INFO] [stderr] --> src/cpu.rs:543:1 [INFO] [stderr] | [INFO] [stderr] 543 | fn add_sp(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/cpu.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:261:22 [INFO] [stderr] | [INFO] [stderr] 261 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:361:22 [INFO] [stderr] | [INFO] [stderr] 361 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:415:22 [INFO] [stderr] | [INFO] [stderr] 415 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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: long literal lacking separators [INFO] [stderr] --> src/cpu.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | cpuid: 0x410cc200, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x410c_c200` [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/cpu.rs:55:18 [INFO] [stderr] | [INFO] [stderr] 55 | ccr: 0xffffffff, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpu.rs:94:62 [INFO] [stderr] | [INFO] [stderr] 94 | self.system_map.read32(self.cpu.vtor).unwrap() & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:95:76 [INFO] [stderr] | [INFO] [stderr] 95 | self.cpu.pc = self.system_map.read32(self.cpu.vtor + 4).unwrap() & 0xfffffffe; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffe` [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/cpu.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | 0b11011110 => undefined_instruction(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1110` [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/cpu.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | 0b11011111 => service_call(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1111` [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/cpu.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | 0b01000111 => branch_exchange_instruction_set(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0100_0111` [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/cpu.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | 0b000110 => add_substract_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0110` [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/cpu.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | 0b000111 => add_substract_immediate(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0111` [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/cpu.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | 0b010000 => data_processing_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0000` [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/cpu.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | 0b010001 => special_data_processing(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0001` [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/cpu.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:262:43 [INFO] [stderr] | [INFO] [stderr] 262 | let pc_aligned: u32 = system.cpu.pc & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:360:31 [INFO] [stderr] | [INFO] [stderr] 360 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:413:31 [INFO] [stderr] | [INFO] [stderr] 413 | let opc: u16 = bytecode & 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/cpu.rs:414:31 [INFO] [stderr] | [INFO] [stderr] 414 | let imm: u16 = bytecode & 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [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/cpu.rs:508:33 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0b1111_1111_1111` [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/cpuflag.rs:48:30 [INFO] [stderr] | [INFO] [stderr] 48 | apsr |= &self.apsr & 0b0000011111111111111111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0011_1111_1111_1111_1111_1111_1111` [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/cpuflag.rs:104:45 [INFO] [stderr] | [INFO] [stderr] 104 | let lower_bit: u32 = (epsr >> 10) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [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/cpuflag.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | self.epsr = (itstate & 0b1100000) << 20; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b110_0000` [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/cpuflag.rs:139:33 [INFO] [stderr] | [INFO] [stderr] 139 | self.epsr |= (itstate & 0b0011111) << 10; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b001_1111` [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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:566:84 [INFO] [stderr] | [INFO] [stderr] 566 | let mut current_sp: u32 = system.cpu.sp[system.cpu.ctrl_spsel] - bit_count(reglist as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(reglist)` [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: long literal lacking separators [INFO] [stderr] --> src/cpuflag.rs:157:23 [INFO] [stderr] | [INFO] [stderr] 157 | r.result = (r64 & 0xffffffff) as u32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpuflag.rs:161:23 [INFO] [stderr] | [INFO] [stderr] 161 | val if (val & 0x00010000) != 0 => r.c = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/cpuflag.rs:162:21 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/cpuflag.rs:162:43 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / if self.readable { [INFO] [stderr] 57 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 58 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 59 | | let data16: u16 = [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 56 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 57 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 58 | let data16: u16 = [INFO] [stderr] 59 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] 60 | return Some(data16); [INFO] [stderr] 61 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / if self.readable { [INFO] [stderr] 69 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 70 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 71 | | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] ... | [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 68 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 69 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 70 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] 71 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] 72 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] 73 | | ((self.data[index]) as u32); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | / if self.writable { [INFO] [stderr] 90 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 91 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 92 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 93 | | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 89 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 90 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 91 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 92 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 93 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | / if self.writable { [INFO] [stderr] 100 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 101 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 102 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 99 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 100 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 101 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 102 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 103 | self.data[index + 2] = ((val >> 16) & 0xff) as u8; [INFO] [stderr] 104 | self.data[index + 3] = ((val >> 24) & 0xff) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:192:21 [INFO] [stderr] | [INFO] [stderr] 192 | return Ok(data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(data)` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | / return Err(format!( [INFO] [stderr] 196 | | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | | adrs, x.name [INFO] [stderr] 198 | | )); [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] 195 | Err(format!( [INFO] [stderr] 196 | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | adrs, x.name [INFO] [stderr] 198 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | / return Err(format!( [INFO] [stderr] 203 | | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | | adrs [INFO] [stderr] 205 | | )); [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] 202 | Err(format!( [INFO] [stderr] 203 | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | adrs [INFO] [stderr] 205 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | const ROMADDR: u32 = 0x00000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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/main.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | const RAMADDR: u32 = 0x10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1000_0000` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.q << 27)` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.v << 28)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.c << 29)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 47 | (self.n << 31) | (self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:151:20 [INFO] [stderr] | [INFO] [stderr] 151 | let a64: i64 = a as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(a)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | let b64: i64 = b as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(b)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | let c64: i64 = carry as i64; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(carry)` [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: long literal lacking separators [INFO] [stderr] --> src/cpu.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | cpuid: 0x410cc200, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x410c_c200` [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/cpu.rs:55:18 [INFO] [stderr] | [INFO] [stderr] 55 | ccr: 0xffffffff, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpu.rs:94:62 [INFO] [stderr] | [INFO] [stderr] 94 | self.system_map.read32(self.cpu.vtor).unwrap() & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:95:76 [INFO] [stderr] | [INFO] [stderr] 95 | self.cpu.pc = self.system_map.read32(self.cpu.vtor + 4).unwrap() & 0xfffffffe; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffe` [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/cpu.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | 0b11011110 => undefined_instruction(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1110` [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/cpu.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | 0b11011111 => service_call(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1101_1111` [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/cpu.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | 0b01000111 => branch_exchange_instruction_set(bytecode, system), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0100_0111` [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/cpu.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | 0b000110 => add_substract_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0110` [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/cpu.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | 0b000111 => add_substract_immediate(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0111` [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/cpu.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | 0b010000 => data_processing_register(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0000` [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/cpu.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | 0b010001 => special_data_processing(bytecode, system), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0001` [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/cpu.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:262:43 [INFO] [stderr] | [INFO] [stderr] 262 | let pc_aligned: u32 = system.cpu.pc & 0xfffffffc; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_fffc` [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/cpu.rs:360:31 [INFO] [stderr] | [INFO] [stderr] 360 | let imm: u16 = bytecode & 0b11111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/cpu.rs:413:31 [INFO] [stderr] | [INFO] [stderr] 413 | let opc: u16 = bytecode & 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/cpu.rs:414:31 [INFO] [stderr] | [INFO] [stderr] 414 | let imm: u16 = bytecode & 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [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/cpu.rs:508:33 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0b1111_1111_1111` [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/cpuflag.rs:48:30 [INFO] [stderr] | [INFO] [stderr] 48 | apsr |= &self.apsr & 0b0000011111111111111111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0011_1111_1111_1111_1111_1111_1111` [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/cpuflag.rs:104:45 [INFO] [stderr] | [INFO] [stderr] 104 | let lower_bit: u32 = (epsr >> 10) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [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/cpuflag.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | self.epsr = (itstate & 0b1100000) << 20; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b110_0000` [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/cpuflag.rs:139:33 [INFO] [stderr] | [INFO] [stderr] 139 | self.epsr |= (itstate & 0b0011111) << 10; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b001_1111` [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/cpuflag.rs:157:23 [INFO] [stderr] | [INFO] [stderr] 157 | r.result = (r64 & 0xffffffff) as u32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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/cpuflag.rs:161:23 [INFO] [stderr] | [INFO] [stderr] 161 | val if (val & 0x00010000) != 0 => r.c = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/cpuflag.rs:162:21 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/cpuflag.rs:162:43 [INFO] [stderr] | [INFO] [stderr] 162 | val if (a & 0x80000000) != (val & 0x80000000) as u32 => r.v = 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/cpuflag.rs:204:29 [INFO] [stderr] | [INFO] [stderr] 204 | let test_pattern: u32 = 0b0000011111111111111111111111111; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0011_1111_1111_1111_1111_1111_1111` [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: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / if self.readable { [INFO] [stderr] 57 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 58 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 59 | | let data16: u16 = [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 56 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 57 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 58 | let data16: u16 = [INFO] [stderr] 59 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] 60 | return Some(data16); [INFO] [stderr] 61 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / if self.readable { [INFO] [stderr] 69 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 70 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 71 | | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] ... | [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 68 | if self.readable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 69 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 70 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] 71 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] 72 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] 73 | | ((self.data[index]) as u32); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | / if self.writable { [INFO] [stderr] 90 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 91 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 92 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 93 | | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 89 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 1) { [INFO] [stderr] 90 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 91 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 92 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 93 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/device.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | / if self.writable { [INFO] [stderr] 100 | | if self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 101 | | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 102 | | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 99 | if self.writable && self.is_mapped(adrs) && self.is_mapped(adrs + 3) { [INFO] [stderr] 100 | let index: usize = (adrs - self.mapping.adrs) as usize; [INFO] [stderr] 101 | self.data[index] = (val & 0xff) as u8; [INFO] [stderr] 102 | self.data[index + 1] = ((val >> 8) & 0xff) as u8; [INFO] [stderr] 103 | self.data[index + 2] = ((val >> 16) & 0xff) as u8; [INFO] [stderr] 104 | self.data[index + 3] = ((val >> 24) & 0xff) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:192:21 [INFO] [stderr] | [INFO] [stderr] 192 | return Ok(data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(data)` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | / return Err(format!( [INFO] [stderr] 196 | | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | | adrs, x.name [INFO] [stderr] 198 | | )); [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] 195 | Err(format!( [INFO] [stderr] 196 | "Error: read32(): can not access to {:08x} in {}", [INFO] [stderr] 197 | adrs, x.name [INFO] [stderr] 198 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/device.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | / return Err(format!( [INFO] [stderr] 203 | | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | | adrs [INFO] [stderr] 205 | | )); [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] 202 | Err(format!( [INFO] [stderr] 203 | "Error: read32(): no devices are assigned:{:08x}", [INFO] [stderr] 204 | adrs [INFO] [stderr] 205 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | const ROMADDR: u32 = 0x00000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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/main.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | const RAMADDR: u32 = 0x10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1000_0000` [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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/device.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | / if mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size { [INFO] [stderr] 22 | | true [INFO] [stderr] 23 | | } else { [INFO] [stderr] 24 | | false [INFO] [stderr] 25 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:60:22 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[index + 1])` [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/device.rs:60:60 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((self.data[index]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:71:36 [INFO] [stderr] | [INFO] [stderr] 71 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.data[index + 3])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:72:24 [INFO] [stderr] | [INFO] [stderr] 72 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 2]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 1]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:74:23 [INFO] [stderr] | [INFO] [stderr] 74 | | ((self.data[index]) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index]))` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | / match self.get_device(adrs) { [INFO] [stderr] 212 | | Some(x) => x.write8(adrs, val), [INFO] [stderr] 213 | | None => (), [INFO] [stderr] 214 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write8(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | / match self.get_device(adrs) { [INFO] [stderr] 219 | | Some(x) => x.write16(adrs, val), [INFO] [stderr] 220 | | None => (), [INFO] [stderr] 221 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write16(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | / match self.get_device(adrs) { [INFO] [stderr] 226 | | Some(x) => x.write32(adrs, val), [INFO] [stderr] 227 | | None => (), [INFO] [stderr] 228 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write32(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:214:37 [INFO] [stderr] | [INFO] [stderr] 214 | fn shift_by_immediate_move_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:220:27 [INFO] [stderr] | [INFO] [stderr] 220 | fn add_substract_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:226:28 [INFO] [stderr] | [INFO] [stderr] 226 | fn add_substract_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:232:41 [INFO] [stderr] | [INFO] [stderr] 232 | fn add_substract_compare_move_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:238:29 [INFO] [stderr] | [INFO] [stderr] 238 | fn data_processing_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:244:28 [INFO] [stderr] | [INFO] [stderr] 244 | fn special_data_processing(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | fn branch_exchange_instruction_set(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:292:31 [INFO] [stderr] | [INFO] [stderr] 292 | fn load_store_register_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:310:32 [INFO] [stderr] | [INFO] [stderr] 310 | fn loade_word_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:316:32 [INFO] [stderr] | [INFO] [stderr] 316 | fn store_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:322:32 [INFO] [stderr] | [INFO] [stderr] 322 | fn loade_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:328:36 [INFO] [stderr] | [INFO] [stderr] 328 | fn store_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:334:35 [INFO] [stderr] | [INFO] [stderr] 334 | fn load_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:340:19 [INFO] [stderr] | [INFO] [stderr] 340 | fn store_to_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:346:20 [INFO] [stderr] | [INFO] [stderr] 346 | fn load_from_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:352:14 [INFO] [stderr] | [INFO] [stderr] 352 | fn add_to_pc(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bit_07_04` [INFO] [stderr] --> src/cpu.rs:375:9 [INFO] [stderr] | [INFO] [stderr] 375 | let bit_07_04 = (bytecode >> 4) & 0xf; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_bit_07_04` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:434:21 [INFO] [stderr] | [INFO] [stderr] 434 | fn sign_zero_extend(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:440:19 [INFO] [stderr] | [INFO] [stderr] 440 | fn store_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:446:18 [INFO] [stderr] | [INFO] [stderr] 446 | fn load_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:452:23 [INFO] [stderr] | [INFO] [stderr] 452 | fn conditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:464:17 [INFO] [stderr] | [INFO] [stderr] 464 | fn service_call(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:470:25 [INFO] [stderr] | [INFO] [stderr] 470 | fn unconditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:476:28 [INFO] [stderr] | [INFO] [stderr] 476 | fn instruction_32bit_11101(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode32` [INFO] [stderr] --> src/cpu.rs:494:36 [INFO] [stderr] | [INFO] [stderr] 494 | fn data_processing_instructions_32(bytecode32: u32, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_bytecode32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load` [INFO] [stderr] --> src/cpu.rs:501:9 [INFO] [stderr] | [INFO] [stderr] 501 | let load: u32 = (bytecode32 >> 20) & 0b1; [INFO] [stderr] | ^^^^ help: consider using `_load` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signed` [INFO] [stderr] --> src/cpu.rs:502:9 [INFO] [stderr] | [INFO] [stderr] 502 | let signed: u32 = (bytecode32 >> 24) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_signed` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `upward` [INFO] [stderr] --> src/cpu.rs:503:9 [INFO] [stderr] | [INFO] [stderr] 503 | let upward: u32 = (bytecode32 >> 23) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_upward` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/cpu.rs:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | let size: u32 = (bytecode32 >> 21) & 0b11; [INFO] [stderr] | ^^^^ help: consider using `_size` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_target` [INFO] [stderr] --> src/cpu.rs:506:9 [INFO] [stderr] | [INFO] [stderr] 506 | let regnum_target: u32 = (bytecode32 >> 12) & 0b1111; // Rt [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_offset` [INFO] [stderr] --> src/cpu.rs:507:9 [INFO] [stderr] | [INFO] [stderr] 507 | let regnum_offset: u32 = bytecode32 & 0b1111; // Rm [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `imm` [INFO] [stderr] --> src/cpu.rs:508:9 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^ help: consider using `_imm` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | fn unpredicable(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:538:20 [INFO] [stderr] | [INFO] [stderr] 538 | fn not_impremented(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:548:8 [INFO] [stderr] | [INFO] [stderr] 548 | fn cbz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:553:9 [INFO] [stderr] | [INFO] [stderr] 553 | fn cbnz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:581:8 [INFO] [stderr] | [INFO] [stderr] 581 | fn pop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:587:7 [INFO] [stderr] | [INFO] [stderr] 587 | fn it(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:593:9 [INFO] [stderr] | [INFO] [stderr] 593 | fn bkpt(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:599:8 [INFO] [stderr] | [INFO] [stderr] 599 | fn dbg(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:605:8 [INFO] [stderr] | [INFO] [stderr] 605 | fn nop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:612:14 [INFO] [stderr] | [INFO] [stderr] 612 | fn cpu_yield(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:618:8 [INFO] [stderr] | [INFO] [stderr] 618 | fn wfe(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:624:8 [INFO] [stderr] | [INFO] [stderr] 624 | fn wfi(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:630:8 [INFO] [stderr] | [INFO] [stderr] 630 | fn sev(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:214:37 [INFO] [stderr] | [INFO] [stderr] 214 | fn shift_by_immediate_move_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:220:27 [INFO] [stderr] | [INFO] [stderr] 220 | fn add_substract_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:226:28 [INFO] [stderr] | [INFO] [stderr] 226 | fn add_substract_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:232:41 [INFO] [stderr] | [INFO] [stderr] 232 | fn add_substract_compare_move_immediate(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:238:29 [INFO] [stderr] | [INFO] [stderr] 238 | fn data_processing_register(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:244:28 [INFO] [stderr] | [INFO] [stderr] 244 | fn special_data_processing(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | fn branch_exchange_instruction_set(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:292:31 [INFO] [stderr] | [INFO] [stderr] 292 | fn load_store_register_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:310:32 [INFO] [stderr] | [INFO] [stderr] 310 | fn loade_word_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:316:32 [INFO] [stderr] | [INFO] [stderr] 316 | fn store_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:322:32 [INFO] [stderr] | [INFO] [stderr] 322 | fn loade_byte_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:328:36 [INFO] [stderr] | [INFO] [stderr] 328 | fn store_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:334:35 [INFO] [stderr] | [INFO] [stderr] 334 | fn load_halfward_immediate_offset(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:340:19 [INFO] [stderr] | [INFO] [stderr] 340 | fn store_to_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:346:20 [INFO] [stderr] | [INFO] [stderr] 346 | fn load_from_stack(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:352:14 [INFO] [stderr] | [INFO] [stderr] 352 | fn add_to_pc(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bit_07_04` [INFO] [stderr] --> src/cpu.rs:375:9 [INFO] [stderr] | [INFO] [stderr] 375 | let bit_07_04 = (bytecode >> 4) & 0xf; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_bit_07_04` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:434:21 [INFO] [stderr] | [INFO] [stderr] 434 | fn sign_zero_extend(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:440:19 [INFO] [stderr] | [INFO] [stderr] 440 | fn store_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:446:18 [INFO] [stderr] | [INFO] [stderr] 446 | fn load_multiple(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:452:23 [INFO] [stderr] | [INFO] [stderr] 452 | fn conditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:464:17 [INFO] [stderr] | [INFO] [stderr] 464 | fn service_call(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:470:25 [INFO] [stderr] | [INFO] [stderr] 470 | fn unconditional_branch(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:476:28 [INFO] [stderr] | [INFO] [stderr] 476 | fn instruction_32bit_11101(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode32` [INFO] [stderr] --> src/cpu.rs:494:36 [INFO] [stderr] | [INFO] [stderr] 494 | fn data_processing_instructions_32(bytecode32: u32, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_bytecode32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load` [INFO] [stderr] --> src/cpu.rs:501:9 [INFO] [stderr] | [INFO] [stderr] 501 | let load: u32 = (bytecode32 >> 20) & 0b1; [INFO] [stderr] | ^^^^ help: consider using `_load` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signed` [INFO] [stderr] --> src/cpu.rs:502:9 [INFO] [stderr] | [INFO] [stderr] 502 | let signed: u32 = (bytecode32 >> 24) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_signed` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `upward` [INFO] [stderr] --> src/cpu.rs:503:9 [INFO] [stderr] | [INFO] [stderr] 503 | let upward: u32 = (bytecode32 >> 23) & 0b1; [INFO] [stderr] | ^^^^^^ help: consider using `_upward` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/cpu.rs:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | let size: u32 = (bytecode32 >> 21) & 0b11; [INFO] [stderr] | ^^^^ help: consider using `_size` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_target` [INFO] [stderr] --> src/cpu.rs:506:9 [INFO] [stderr] | [INFO] [stderr] 506 | let regnum_target: u32 = (bytecode32 >> 12) & 0b1111; // Rt [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regnum_offset` [INFO] [stderr] --> src/cpu.rs:507:9 [INFO] [stderr] | [INFO] [stderr] 507 | let regnum_offset: u32 = bytecode32 & 0b1111; // Rm [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_regnum_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `imm` [INFO] [stderr] --> src/cpu.rs:508:9 [INFO] [stderr] | [INFO] [stderr] 508 | let imm: u32 = bytecode32 & 0b111111111111; [INFO] [stderr] | ^^^ help: consider using `_imm` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | fn unpredicable(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/cpu.rs:538:20 [INFO] [stderr] | [INFO] [stderr] 538 | fn not_impremented(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^ help: consider using `_system` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:548:8 [INFO] [stderr] | [INFO] [stderr] 548 | fn cbz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:553:9 [INFO] [stderr] | [INFO] [stderr] 553 | fn cbnz(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:581:8 [INFO] [stderr] | [INFO] [stderr] 581 | fn pop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:587:7 [INFO] [stderr] | [INFO] [stderr] 587 | fn it(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:593:9 [INFO] [stderr] | [INFO] [stderr] 593 | fn bkpt(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:599:8 [INFO] [stderr] | [INFO] [stderr] 599 | fn dbg(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:605:8 [INFO] [stderr] | [INFO] [stderr] 605 | fn nop(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:612:14 [INFO] [stderr] | [INFO] [stderr] 612 | fn cpu_yield(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:618:8 [INFO] [stderr] | [INFO] [stderr] 618 | fn wfe(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:624:8 [INFO] [stderr] | [INFO] [stderr] 624 | fn wfi(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/cpu.rs:630:8 [INFO] [stderr] | [INFO] [stderr] 630 | fn sev(bytecode: u16, system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_sp` [INFO] [stderr] --> src/cpu.rs:543:1 [INFO] [stderr] | [INFO] [stderr] 543 | fn add_sp(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/cpu.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:261:22 [INFO] [stderr] | [INFO] [stderr] 261 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:361:22 [INFO] [stderr] | [INFO] [stderr] 361 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:415:22 [INFO] [stderr] | [INFO] [stderr] 415 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:566:84 [INFO] [stderr] | [INFO] [stderr] 566 | let mut current_sp: u32 = system.cpu.sp[system.cpu.ctrl_spsel] - bit_count(reglist as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(reglist)` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.q << 27)` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.v << 28)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.c << 29)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 47 | (self.n << 31) | (self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:151:20 [INFO] [stderr] | [INFO] [stderr] 151 | let a64: i64 = a as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(a)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | let b64: i64 = b as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(b)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | let c64: i64 = carry as i64; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(carry)` [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/device.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | / if mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size { [INFO] [stderr] 22 | | true [INFO] [stderr] 23 | | } else { [INFO] [stderr] 24 | | false [INFO] [stderr] 25 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:60:22 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[index + 1])` [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/device.rs:60:60 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((self.data[index]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:71:36 [INFO] [stderr] | [INFO] [stderr] 71 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.data[index + 3])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:72:24 [INFO] [stderr] | [INFO] [stderr] 72 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 2]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 1]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:74:23 [INFO] [stderr] | [INFO] [stderr] 74 | | ((self.data[index]) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index]))` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | / match self.get_device(adrs) { [INFO] [stderr] 212 | | Some(x) => x.write8(adrs, val), [INFO] [stderr] 213 | | None => (), [INFO] [stderr] 214 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write8(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | / match self.get_device(adrs) { [INFO] [stderr] 219 | | Some(x) => x.write16(adrs, val), [INFO] [stderr] 220 | | None => (), [INFO] [stderr] 221 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write16(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | / match self.get_device(adrs) { [INFO] [stderr] 226 | | Some(x) => x.write32(adrs, val), [INFO] [stderr] 227 | | None => (), [INFO] [stderr] 228 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write32(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_sp` [INFO] [stderr] --> src/cpu.rs:543:1 [INFO] [stderr] | [INFO] [stderr] 543 | fn add_sp(system: &mut M0System) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/cpu.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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/cpu.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | bin_tmp = bin_tmp >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_tmp >>= 4` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:261:22 [INFO] [stderr] | [INFO] [stderr] 261 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:361:22 [INFO] [stderr] | [INFO] [stderr] 361 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:415:22 [INFO] [stderr] | [INFO] [stderr] 415 | let imm32: u32 = (imm << 2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(imm << 2)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:566:84 [INFO] [stderr] | [INFO] [stderr] 566 | let mut current_sp: u32 = system.cpu.sp[system.cpu.ctrl_spsel] - bit_count(reglist as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(reglist)` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.q << 27)` [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: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.v << 28)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(self.c << 29)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/cpuflag.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | &(self.n << 31) | &(self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 47 | (self.n << 31) | (self.z << 30) | &(self.c << 29) | &(self.v << 28) | &(self.q << 27); [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:151:20 [INFO] [stderr] | [INFO] [stderr] 151 | let a64: i64 = a as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(a)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | let b64: i64 = b as i64; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(b)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/cpuflag.rs:153:20 [INFO] [stderr] | [INFO] [stderr] 153 | let c64: i64 = carry as i64; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(carry)` [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/device.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | / if mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size { [INFO] [stderr] 22 | | true [INFO] [stderr] 23 | | } else { [INFO] [stderr] 24 | | false [INFO] [stderr] 25 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `mapping.adrs <= pt && ((pt - mapping.adrs) as usize) < mapping.size` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:60:22 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[index + 1])` [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/device.rs:60:60 [INFO] [stderr] | [INFO] [stderr] 60 | ((self.data[index + 1] as u16) << 8) | ((self.data[index]) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((self.data[index]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:71:36 [INFO] [stderr] | [INFO] [stderr] 71 | let data32: u32 = ((self.data[index + 3] as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.data[index + 3])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:72:24 [INFO] [stderr] | [INFO] [stderr] 72 | | (((self.data[index + 2]) as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 2]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | | (((self.data[index + 1]) as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index + 1]))` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/device.rs:74:23 [INFO] [stderr] | [INFO] [stderr] 74 | | ((self.data[index]) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((self.data[index]))` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | / match self.get_device(adrs) { [INFO] [stderr] 212 | | Some(x) => x.write8(adrs, val), [INFO] [stderr] 213 | | None => (), [INFO] [stderr] 214 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write8(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | / match self.get_device(adrs) { [INFO] [stderr] 219 | | Some(x) => x.write16(adrs, val), [INFO] [stderr] 220 | | None => (), [INFO] [stderr] 221 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write16(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/device.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | / match self.get_device(adrs) { [INFO] [stderr] 226 | | Some(x) => x.write32(adrs, val), [INFO] [stderr] 227 | | None => (), [INFO] [stderr] 228 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.get_device(adrs) { x.write32(adrs, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.56s [INFO] running `"docker" "inspect" "d48cf081ecfcbef1afbd9526afa7de0693e35e662067086da3d7ca83299b0568"` [INFO] running `"docker" "rm" "-f" "d48cf081ecfcbef1afbd9526afa7de0693e35e662067086da3d7ca83299b0568"` [INFO] [stdout] d48cf081ecfcbef1afbd9526afa7de0693e35e662067086da3d7ca83299b0568