[INFO] cloning repository https://github.com/jfoucher/planck-emulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jfoucher/planck-emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjfoucher%2Fplanck-emulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjfoucher%2Fplanck-emulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e07e045439938912d03eb177b06ca47a26071395
[INFO] checking jfoucher/planck-emulator against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjfoucher%2Fplanck-emulator" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jfoucher/planck-emulator
[INFO] finished tweaking git repo https://github.com/jfoucher/planck-emulator
[INFO] tweaked toml for git repo https://github.com/jfoucher/planck-emulator written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jfoucher/planck-emulator on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jfoucher/planck-emulator already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8
[INFO] running `Command { std: "docker" "start" "6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling ahash v0.8.7
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling serde_json v1.0.109
[INFO] [stderr]     Checking getrandom v0.2.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling thiserror v1.0.55
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]     Checking bitflags v2.4.0
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking time v0.3.31
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking anyhow v1.0.86
[INFO] [stderr]     Checking thread-id v4.2.2
[INFO] [stderr]     Checking itertools v0.12.0
[INFO] [stderr]    Compiling indoc v2.0.3
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking unicode-segmentation v1.10.0
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]     Checking indexmap v2.3.0
[INFO] [stderr]     Checking lru v0.12.1
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking chrono v0.4.26
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling thiserror-impl v1.0.55
[INFO] [stderr]    Compiling strum_macros v0.25.2
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling stability v0.1.1
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking serde_yaml v0.9.29
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking ratatui v0.25.0
[INFO] [stderr]     Checking log4rs v1.3.0
[INFO] [stderr]     Checking plu v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/via.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/via.rs:25:41
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reg`
[INFO] [stdout]   --> src/computer/ram.rs:28:24
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn read(&mut self, reg: u16) -> u8 {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cf.rs:38:25
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read_data(&self, addr: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cf.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/cf.rs:45:41
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cia.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn read_data(&self, addr: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cia.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/cia.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/empty.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn read_data(&self, addr: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/empty.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/empty.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timer2cnt` and `timer2latch` are never read
[INFO] [stdout]   --> src/computer/via.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Via {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     pub timer2cnt: u16,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]  9 |     pub timer1latch: u16,
[INFO] [stdout] 10 |     pub timer2latch: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Via` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:567:23
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 567 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 567 +         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 567 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 567 +         let sp: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:568:24
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 568 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 568 +         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 568 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 568 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:585:23
[INFO] [stdout]     |
[INFO] [stdout] 585 |         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 585 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 585 +         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 585 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 585 +         let sp: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:586:24
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 586 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 586 +         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 586 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 586 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:587:24
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 587 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 587 +         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 587 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 587 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:613:23
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 613 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 613 +         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 613 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 613 +         let sp: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:614:24
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 614 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 614 +         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 614 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 614 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:615:24
[INFO] [stdout]     |
[INFO] [stdout] 615 |         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 615 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 615 +         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 615 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 615 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:639:24
[INFO] [stdout]     |
[INFO] [stdout] 639 |         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 639 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 639 +         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 639 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 639 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:640:24
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 640 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 640 +         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 640 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 640 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:641:24
[INFO] [stdout]     |
[INFO] [stdout] 641 |         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 641 -         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16).into();
[INFO] [stdout] 641 +         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 641 -         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16).into();
[INFO] [stdout] 641 +         let sp3: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:659:24
[INFO] [stdout]     |
[INFO] [stdout] 659 |         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 659 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 659 +         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 659 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 659 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:660:24
[INFO] [stdout]     |
[INFO] [stdout] 660 |         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 660 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 660 +         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 660 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 660 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:735:25
[INFO] [stdout]     |
[INFO] [stdout] 735 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 735 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 735 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 735 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 735 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:749:25
[INFO] [stdout]     |
[INFO] [stdout] 749 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 749 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 749 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 749 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 749 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:764:25
[INFO] [stdout]     |
[INFO] [stdout] 764 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 764 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 764 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 764 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 764 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:778:25
[INFO] [stdout]     |
[INFO] [stdout] 778 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 778 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 778 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 778 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 778 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:792:25
[INFO] [stdout]     |
[INFO] [stdout] 792 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 792 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 792 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 792 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 792 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:807:25
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 807 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 807 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 807 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 807 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:822:25
[INFO] [stdout]     |
[INFO] [stdout] 822 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 822 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 822 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 822 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 822 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:837:25
[INFO] [stdout]     |
[INFO] [stdout] 837 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 837 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 837 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 837 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 837 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/via.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/via.rs:25:41
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reg`
[INFO] [stdout]   --> src/computer/ram.rs:28:24
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn read(&mut self, reg: u16) -> u8 {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cf.rs:38:25
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read_data(&self, addr: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cf.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/cf.rs:45:41
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `plu` (lib test) due to 21 previous errors; 13 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cia.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn read_data(&self, addr: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/cia.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/cia.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/empty.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn read_data(&self, addr: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/computer/empty.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/computer/empty.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn write_data(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timer2cnt` and `timer2latch` are never read
[INFO] [stdout]   --> src/computer/via.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Via {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     pub timer2cnt: u16,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]  9 |     pub timer1latch: u16,
[INFO] [stdout] 10 |     pub timer2latch: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Via` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:567:23
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 567 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 567 +         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 567 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 567 +         let sp: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:568:24
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 568 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 568 +         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 568 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 568 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:585:23
[INFO] [stdout]     |
[INFO] [stdout] 585 |         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 585 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 585 +         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 585 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 585 +         let sp: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:586:24
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 586 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 586 +         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 586 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 586 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:587:24
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 587 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 587 +         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 587 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 587 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:613:23
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 613 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 613 +         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 613 -         let sp: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 613 +         let sp: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:614:24
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 614 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 614 +         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 614 -         let sp1: u16 = (self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 614 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:615:24
[INFO] [stdout]     |
[INFO] [stdout] 615 |         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 615 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 615 +         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 615 -         let sp2: u16 = (self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 615 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_sub(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:639:24
[INFO] [stdout]     |
[INFO] [stdout] 639 |         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 639 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 639 +         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 639 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 639 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:640:24
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 640 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 640 +         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 640 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 640 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:641:24
[INFO] [stdout]     |
[INFO] [stdout] 641 |         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 641 -         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16).into();
[INFO] [stdout] 641 +         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 641 -         let sp3: u16 = (self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16).into();
[INFO] [stdout] 641 +         let sp3: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(3) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:659:24
[INFO] [stdout]     |
[INFO] [stdout] 659 |         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 659 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 659 +         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 659 -         let sp1: u16 = (self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16).into();
[INFO] [stdout] 659 +         let sp1: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(1) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:660:24
[INFO] [stdout]     |
[INFO] [stdout] 660 |         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 660 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 660 +         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 660 -         let sp2: u16 = (self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16).into();
[INFO] [stdout] 660 +         let sp2: u16 = <u16 as Into<_>>::into((self.processor.sp.wrapping_add(2) as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:735:25
[INFO] [stdout]     |
[INFO] [stdout] 735 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 735 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 735 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 735 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 735 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:749:25
[INFO] [stdout]     |
[INFO] [stdout] 749 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 749 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 749 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 749 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 749 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:764:25
[INFO] [stdout]     |
[INFO] [stdout] 764 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 764 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 764 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 764 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 764 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:778:25
[INFO] [stdout]     |
[INFO] [stdout] 778 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 778 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 778 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 778 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 778 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:792:25
[INFO] [stdout]     |
[INFO] [stdout] 792 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 792 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 792 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 792 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 792 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:807:25
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 807 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 807 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 807 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 807 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:822:25
[INFO] [stdout]     |
[INFO] [stdout] 822 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 822 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 822 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 822 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 822 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u16`
[INFO] [stdout]    --> src/computer.rs:837:25
[INFO] [stdout]     |
[INFO] [stdout] 837 |         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 837 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 837 +         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 837 -         let addr: u16 = (self.processor.sp as u16 + 0x100 as u16).into();
[INFO] [stdout] 837 +         let addr: u16 = <u16 as Into<_>>::into((self.processor.sp as u16 + 0x100 as u16));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `plu` (lib) due to 21 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8", kill_on_drop: false }`
[INFO] [stdout] 6cf95dbbfa16a97373a0f95b650b6c507d39a67082f65a0bba11a0c2ee333dc8
