[INFO] cloning repository https://github.com/yoo2001818/rust-8086
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yoo2001818/rust-8086" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoo2001818%2Frust-8086", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoo2001818%2Frust-8086'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9fbf118c5ce50759d79c48adbf643f4dc882f6ef
[INFO] checking yoo2001818/rust-8086 against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoo2001818%2Frust-8086" "/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/yoo2001818/rust-8086
[INFO] finished tweaking git repo https://github.com/yoo2001818/rust-8086
[INFO] tweaked toml for git repo https://github.com/yoo2001818/rust-8086 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yoo2001818/rust-8086 on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yoo2001818/rust-8086 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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 44625ec1931338355793b60b7a919823903b29ecb28b7349c441f1c229bea450
[INFO] running `Command { std: "docker" "start" "-a" "44625ec1931338355793b60b7a919823903b29ecb28b7349c441f1c229bea450", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44625ec1931338355793b60b7a919823903b29ecb28b7349c441f1c229bea450", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44625ec1931338355793b60b7a919823903b29ecb28b7349c441f1c229bea450", kill_on_drop: false }`
[INFO] [stdout] 44625ec1931338355793b60b7a919823903b29ecb28b7349c441f1c229bea450
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5576c1496cf53b2c7b20d28b7e499dee16e64446e1d9450a9730f5fba81546e7
[INFO] running `Command { std: "docker" "start" "-a" "5576c1496cf53b2c7b20d28b7e499dee16e64446e1d9450a9730f5fba81546e7", kill_on_drop: false }`
[INFO] [stderr]     Checking rust-8086 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |       RegisterByteType::Al => (store.ax & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 132 |       RegisterByteType::Cl => (store.cx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 133 |       RegisterByteType::Dl => (store.dx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 134 |       RegisterByteType::Bl => (store.bx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |       RegisterByteType::Al => store.ax = (store.ax & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 145 |       RegisterByteType::Cl => store.cx = (store.cx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 146 |       RegisterByteType::Dl => store.dx = (store.dx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 147 |       RegisterByteType::Bl => store.bx = (store.bx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ah` is never read
[INFO] [stdout]    --> src/i8086/op_exec.rs:637:20
[INFO] [stdout]     |
[INFO] [stdout] 637 |       let mut ah = (cpu.register.ax >> 8) & 0xff;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 638 |       ah = al / 0x0a;
[INFO] [stdout]     |       -------------- `ah` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:894:16
[INFO] [stdout]     |
[INFO] [stdout] 894 |       Op::Movs(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:895:16
[INFO] [stdout]     |
[INFO] [stdout] 895 |       Op::Cmps(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:896:16
[INFO] [stdout]     |
[INFO] [stdout] 896 |       Op::Scas(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:897:16
[INFO] [stdout]     |
[INFO] [stdout] 897 |       Op::Lods(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:898:16
[INFO] [stdout]     |
[INFO] [stdout] 898 |       Op::Stos(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:15
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |               ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operand`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:21
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache` is never read
[INFO] [stdout]   --> src/mem/paged.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PagedMemory {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 29 |   cache: usize,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_value` is never used
[INFO] [stdout]   --> src/i8086/op.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl AddressType {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |   fn to_value(&self) -> u8 {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_OF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const INT_OF: u8 = 0x4;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_BR` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const INT_BR: u8 = 0x5;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_UD` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const INT_UD: u8 = 0x6;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_DF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const INT_DF: u8 = 0x8;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_GP` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const INT_GP: u8 = 0xd;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_MF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const INT_MF: u8 = 0x10;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/i8086/cpu.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator {
[INFO] [stdout]    |               ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |       RegisterByteType::Al => (store.ax & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 132 |       RegisterByteType::Cl => (store.cx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 133 |       RegisterByteType::Dl => (store.dx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 134 |       RegisterByteType::Bl => (store.bx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |       RegisterByteType::Al => store.ax = (store.ax & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 145 |       RegisterByteType::Cl => store.cx = (store.cx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 146 |       RegisterByteType::Dl => store.dx = (store.dx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 147 |       RegisterByteType::Bl => store.bx = (store.bx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ah` is never read
[INFO] [stdout]    --> src/i8086/op_exec.rs:637:20
[INFO] [stdout]     |
[INFO] [stdout] 637 |       let mut ah = (cpu.register.ax >> 8) & 0xff;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 638 |       ah = al / 0x0a;
[INFO] [stdout]     |       -------------- `ah` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:894:16
[INFO] [stdout]     |
[INFO] [stdout] 894 |       Op::Movs(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:895:16
[INFO] [stdout]     |
[INFO] [stdout] 895 |       Op::Cmps(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:896:16
[INFO] [stdout]     |
[INFO] [stdout] 896 |       Op::Scas(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:897:16
[INFO] [stdout]     |
[INFO] [stdout] 897 |       Op::Lods(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:898:16
[INFO] [stdout]     |
[INFO] [stdout] 898 |       Op::Stos(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:15
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |               ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operand`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:21
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache` is never read
[INFO] [stdout]   --> src/mem/paged.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PagedMemory {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 29 |   cache: usize,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_value` is never used
[INFO] [stdout]   --> src/i8086/op.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl AddressType {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |   fn to_value(&self) -> u8 {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_OF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const INT_OF: u8 = 0x4;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_BR` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const INT_BR: u8 = 0x5;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_UD` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const INT_UD: u8 = 0x6;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_DF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const INT_DF: u8 = 0x8;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_GP` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const INT_GP: u8 = 0xd;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_MF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const INT_MF: u8 = 0x10;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/i8086/cpu.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator {
[INFO] [stdout]    |               ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/tests.com`: No such file or directory (os error 2)
[INFO] [stdout]    --> tests/cpu.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 124 |   let test_data = include_bytes!("tests.com");
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |       RegisterByteType::Al => (store.ax & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 132 |       RegisterByteType::Cl => (store.cx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 133 |       RegisterByteType::Dl => (store.dx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 134 |       RegisterByteType::Bl => (store.bx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |       RegisterByteType::Al => store.ax = (store.ax & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 145 |       RegisterByteType::Cl => store.cx = (store.cx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 146 |       RegisterByteType::Dl => store.dx = (store.dx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 147 |       RegisterByteType::Bl => store.bx = (store.bx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-8086` (test "cpu") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |       RegisterByteType::Al => (store.ax & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 132 |       RegisterByteType::Cl => (store.cx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 133 |       RegisterByteType::Dl => (store.dx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 134 |       RegisterByteType::Bl => (store.bx & 0xff) as u8,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 139 |       _ => 0,
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/i8086/register.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |       RegisterByteType::Al => store.ax = (store.ax & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 145 |       RegisterByteType::Cl => store.cx = (store.cx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 146 |       RegisterByteType::Dl => store.dx = (store.dx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] 147 |       RegisterByteType::Bl => store.bx = (store.bx & !0xff) | value as u16,
[INFO] [stdout]     |       -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 152 |       _ => (),
[INFO] [stdout]     |       ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ah` is never read
[INFO] [stdout]    --> src/i8086/op_exec.rs:637:20
[INFO] [stdout]     |
[INFO] [stdout] 637 |       let mut ah = (cpu.register.ax >> 8) & 0xff;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 638 |       ah = al / 0x0a;
[INFO] [stdout]     |       -------------- `ah` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:894:16
[INFO] [stdout]     |
[INFO] [stdout] 894 |       Op::Movs(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:895:16
[INFO] [stdout]     |
[INFO] [stdout] 895 |       Op::Cmps(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:896:16
[INFO] [stdout]     |
[INFO] [stdout] 896 |       Op::Scas(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:897:16
[INFO] [stdout]     |
[INFO] [stdout] 897 |       Op::Lods(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:898:16
[INFO] [stdout]     |
[INFO] [stdout] 898 |       Op::Stos(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:15
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |               ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operand`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:21
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CallbackMemory` is never constructed
[INFO] [stdout]  --> src/mem/callback.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CallbackMemory {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/mem/callback.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl CallbackMemory {
[INFO] [stdout]   | ------------------- associated function in this implementation
[INFO] [stdout] 9 |   pub fn new(
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PagedMemorySegment` is never constructed
[INFO] [stdout]  --> src/mem/paged.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PagedMemorySegment {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mem/paged.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl PagedMemorySegment {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 13 |   pub fn new(
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PagedMemory` is never constructed
[INFO] [stdout]   --> src/mem/paged.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PagedMemory {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert_page`, `remove_page`, and `get_page` are never used
[INFO] [stdout]   --> src/mem/paged.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl PagedMemory {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 34 |   pub fn new() -> PagedMemory {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn insert_page(&mut self, entry: PagedMemorySegment) -> () {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub fn remove_page(&mut self, start: usize) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |   pub fn get_page(&self, address: usize) -> Option<&RefCell<PagedMemorySegment>> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `jmp`, `hlt`, `unhlt`, and `run` are never used
[INFO] [stdout]   --> src/i8086/cpu.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl CPU {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn jmp(&mut self, seg: u16, addr: u16) -> () {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |   pub fn hlt(&mut self) -> () {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn unhlt(&mut self) -> () {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |   pub fn run(&mut self) -> () {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_value` is never used
[INFO] [stdout]   --> src/i8086/op.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl AddressType {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |   fn to_value(&self) -> u8 {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cmps` is never constructed
[INFO] [stdout]    --> src/i8086/op.rs:271:3
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub enum Op {
[INFO] [stdout]     |          -- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 271 |   Cmps(OpSize),
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_OF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const INT_OF: u8 = 0x4;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_BR` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const INT_BR: u8 = 0x5;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_UD` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const INT_UD: u8 = 0x6;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_DF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const INT_DF: u8 = 0x8;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_GP` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const INT_GP: u8 = 0xd;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_MF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const INT_MF: u8 = 0x10;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/i8086/cpu.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator {
[INFO] [stdout]    |               ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ah` is never read
[INFO] [stdout]    --> src/i8086/op_exec.rs:637:20
[INFO] [stdout]     |
[INFO] [stdout] 637 |       let mut ah = (cpu.register.ax >> 8) & 0xff;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 638 |       ah = al / 0x0a;
[INFO] [stdout]     |       -------------- `ah` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:894:16
[INFO] [stdout]     |
[INFO] [stdout] 894 |       Op::Movs(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:895:16
[INFO] [stdout]     |
[INFO] [stdout] 895 |       Op::Cmps(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:896:16
[INFO] [stdout]     |
[INFO] [stdout] 896 |       Op::Scas(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:897:16
[INFO] [stdout]     |
[INFO] [stdout] 897 |       Op::Lods(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/i8086/op_exec.rs:898:16
[INFO] [stdout]     |
[INFO] [stdout] 898 |       Op::Stos(size) => {},
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:15
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |               ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operand`
[INFO] [stdout]     --> src/i8086/op_exec.rs:1017:21
[INFO] [stdout]      |
[INFO] [stdout] 1017 |       Op::Esc(code, operand) => {},
[INFO] [stdout]      |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mem/paged.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl PagedMemorySegment {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 13 |   pub fn new(
[INFO] [stdout]    |          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache` is never read
[INFO] [stdout]   --> src/mem/paged.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PagedMemory {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 29 |   cache: usize,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_page` is never used
[INFO] [stdout]   --> src/mem/paged.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl PagedMemory {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub fn remove_page(&mut self, start: usize) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `jmp`, `hlt`, `unhlt`, and `run` are never used
[INFO] [stdout]   --> src/i8086/cpu.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl CPU {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn jmp(&mut self, seg: u16, addr: u16) -> () {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |   pub fn hlt(&mut self) -> () {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn unhlt(&mut self) -> () {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |   pub fn run(&mut self) -> () {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_value` is never used
[INFO] [stdout]   --> src/i8086/op.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl AddressType {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |   fn to_value(&self) -> u8 {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cmps` is never constructed
[INFO] [stdout]    --> src/i8086/op.rs:271:3
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub enum Op {
[INFO] [stdout]     |          -- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 271 |   Cmps(OpSize),
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_OF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const INT_OF: u8 = 0x4;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_BR` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const INT_BR: u8 = 0x5;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_UD` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const INT_UD: u8 = 0x6;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_DF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const INT_DF: u8 = 0x8;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_GP` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const INT_GP: u8 = 0xd;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INT_MF` is never used
[INFO] [stdout]   --> src/i8086/op_exec.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const INT_MF: u8 = 0x10;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/i8086/cpu.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator {
[INFO] [stdout]    |               ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub fn iter(&mut self) -> CPUIterator<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5576c1496cf53b2c7b20d28b7e499dee16e64446e1d9450a9730f5fba81546e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5576c1496cf53b2c7b20d28b7e499dee16e64446e1d9450a9730f5fba81546e7", kill_on_drop: false }`
[INFO] [stdout] 5576c1496cf53b2c7b20d28b7e499dee16e64446e1d9450a9730f5fba81546e7
