[INFO] cloning repository https://github.com/nehri97/RSVM [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nehri97/RSVM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnehri97%2FRSVM", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnehri97%2FRSVM'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d57c3c2a5b592003770bec2178fb873a3e81d836 [INFO] building nehri97/RSVM against master#44f415c1d617ebc7b931a243b7b321ef8a6ca47c for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnehri97%2FRSVM" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nehri97/RSVM on toolchain 44f415c1d617ebc7b931a243b7b321ef8a6ca47c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nehri97/RSVM [INFO] finished tweaking git repo https://github.com/nehri97/RSVM [INFO] tweaked toml for git repo https://github.com/nehri97/RSVM written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/nehri97/RSVM 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" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 74088dcbc00c5ccf7ed21ccf4b239eb32982bdf5e1e735655dd914be40593de1 [INFO] running `Command { std: "docker" "start" "-a" "74088dcbc00c5ccf7ed21ccf4b239eb32982bdf5e1e735655dd914be40593de1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "74088dcbc00c5ccf7ed21ccf4b239eb32982bdf5e1e735655dd914be40593de1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74088dcbc00c5ccf7ed21ccf4b239eb32982bdf5e1e735655dd914be40593de1", kill_on_drop: false }` [INFO] [stdout] 74088dcbc00c5ccf7ed21ccf4b239eb32982bdf5e1e735655dd914be40593de1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 567ba79dcdf43246a2abd820f8b50cd90b7c5f81e83dfd4b7e769d141847993f [INFO] running `Command { std: "docker" "start" "-a" "567ba79dcdf43246a2abd820f8b50cd90b7c5f81e83dfd4b7e769d141847993f", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.76 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling thiserror-impl v1.0.29 [INFO] [stderr] Compiling thiserror v1.0.29 [INFO] [stderr] Compiling rsvm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/cpu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/cpu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `memory::*` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use memory::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cpu::CPU` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use cpu::CPU; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::*` [INFO] [stdout] --> src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use instructions::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOV_REG_REG` is never used [INFO] [stdout] --> src/instructions.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const MOV_REG_REG: u8 = 0x11; // Move a register's value to another register [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOV_REG_MEM` is never used [INFO] [stdout] --> src/instructions.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const MOV_REG_MEM: u8 = 0x12; // Move a value from a register to memory [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOV_MEM_REG` is never used [INFO] [stdout] --> src/instructions.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const MOV_MEM_REG: u8 = 0x13; // Move a value from memory to a register [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ADD_REG_REG` is never used [INFO] [stdout] --> src/instructions.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const ADD_REG_REG: u8 = 0x14; // Add values from two registers to the acc register [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JMP_NEQ` is never used [INFO] [stdout] --> src/instructions.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const JMP_NEQ: u8 = 0x15; // Jump if the value in the accumulator is different from a literal [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Memory` is never constructed [INFO] [stdout] --> src/memory.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Memory { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `len` are never used [INFO] [stdout] --> src/memory.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Memory { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 9 | // create a new memory buffer by passing its size, in bytes. [INFO] [stdout] 10 | pub fn new(memsize: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REGISTERS` is never used [INFO] [stdout] --> src/cpu.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const REGISTERS: &[&str] = &["ip", "acc", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "sp", "fp"]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CPUError` is never used [INFO] [stdout] --> src/cpu.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum CPUError { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPUError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CPU` is never constructed [INFO] [stdout] --> src/cpu.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct CPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cpu.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl CPU { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 36 | pub fn new(memory_item: Memory) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_register(&self, name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_register(&mut self, name: &str, value: u16) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn get_register_index(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn fetch(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn fetch16(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn execute(&mut self, instruction: u8) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn load(&mut self, index: usize, value: u8) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn step(&mut self) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn display(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:178:21 [INFO] [stdout] | [INFO] [stdout] 178 | self.set_register("ip", address); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 178 | let _ = self.set_register("ip", address); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.42s [INFO] running `Command { std: "docker" "inspect" "567ba79dcdf43246a2abd820f8b50cd90b7c5f81e83dfd4b7e769d141847993f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "567ba79dcdf43246a2abd820f8b50cd90b7c5f81e83dfd4b7e769d141847993f", kill_on_drop: false }` [INFO] [stdout] 567ba79dcdf43246a2abd820f8b50cd90b7c5f81e83dfd4b7e769d141847993f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fe91c5cb48dc626c633a6d6a19212e36c99164b51045c8dc4388c4bb650f32cf [INFO] running `Command { std: "docker" "start" "-a" "fe91c5cb48dc626c633a6d6a19212e36c99164b51045c8dc4388c4bb650f32cf", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/cpu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/cpu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `memory::*` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use memory::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cpu::CPU` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use cpu::CPU; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::*` [INFO] [stdout] --> src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use instructions::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOV_REG_REG` is never used [INFO] [stdout] --> src/instructions.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const MOV_REG_REG: u8 = 0x11; // Move a register's value to another register [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOV_REG_MEM` is never used [INFO] [stdout] --> src/instructions.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const MOV_REG_MEM: u8 = 0x12; // Move a value from a register to memory [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOV_MEM_REG` is never used [INFO] [stdout] --> src/instructions.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const MOV_MEM_REG: u8 = 0x13; // Move a value from memory to a register [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ADD_REG_REG` is never used [INFO] [stdout] --> src/instructions.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const ADD_REG_REG: u8 = 0x14; // Add values from two registers to the acc register [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JMP_NEQ` is never used [INFO] [stdout] --> src/instructions.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const JMP_NEQ: u8 = 0x15; // Jump if the value in the accumulator is different from a literal [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Memory` is never constructed [INFO] [stdout] --> src/memory.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Memory { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `len` are never used [INFO] [stdout] --> src/memory.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Memory { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 9 | // create a new memory buffer by passing its size, in bytes. [INFO] [stdout] 10 | pub fn new(memsize: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rsvm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant `REGISTERS` is never used [INFO] [stdout] --> src/cpu.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const REGISTERS: &[&str] = &["ip", "acc", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "sp", "fp"]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CPUError` is never used [INFO] [stdout] --> src/cpu.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum CPUError { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPUError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CPU` is never constructed [INFO] [stdout] --> src/cpu.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct CPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cpu.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl CPU { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 36 | pub fn new(memory_item: Memory) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_register(&self, name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_register(&mut self, name: &str, value: u16) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn get_register_index(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn fetch(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn fetch16(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn execute(&mut self, instruction: u8) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn load(&mut self, index: usize, value: u8) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn step(&mut self) -> Result<(), CPUError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn display(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:178:21 [INFO] [stdout] | [INFO] [stdout] 178 | self.set_register("ip", address); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 178 | let _ = self.set_register("ip", address); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/cpu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/cpu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::*` [INFO] [stdout] --> src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use instructions::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `display` is never used [INFO] [stdout] --> src/cpu.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn display(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:178:21 [INFO] [stdout] | [INFO] [stdout] 178 | self.set_register("ip", address); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 178 | let _ = self.set_register("ip", address); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | instance.load(0, 0x10); // instruction [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 16 | let _ = instance.load(0, 0x10); // instruction [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | instance.load(1, 0x12); // byte0 literal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = instance.load(1, 0x12); // byte0 literal [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | instance.load(2, 0x34); // byte1 literal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = instance.load(2, 0x34); // byte1 literal [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | instance.load(3, 2); // register "R1" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 19 | let _ = instance.load(3, 2); // register "R1" [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | instance.step(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 20 | let _ = instance.step(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | instance.load(0, 0x10); // instruction MOV LIT REG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 27 | let _ = instance.load(0, 0x10); // instruction MOV LIT REG [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | instance.load(1, 0x12); // byte0 literal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = instance.load(1, 0x12); // byte0 literal [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | instance.load(2, 0x34); // byte1 literal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 29 | let _ = instance.load(2, 0x34); // byte1 literal [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | instance.load(3, 2); // register "R1" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = instance.load(3, 2); // register "R1" [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | instance.load(4, 0x11); // instruction MOV REG REG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 31 | let _ = instance.load(4, 0x11); // instruction MOV REG REG [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | instance.load(5, 2); // register "R1" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = instance.load(5, 2); // register "R1" [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | instance.load(6, 3); // register "R2" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 33 | let _ = instance.load(6, 3); // register "R2" [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | instance.step(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 34 | let _ = instance.step(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | instance.step(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = instance.step(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | instance.load(0, 0x10); // instruction MOV LIT REG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 42 | let _ = instance.load(0, 0x10); // instruction MOV LIT REG [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | instance.load(1, 0x12); // byte0 literal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 43 | let _ = instance.load(1, 0x12); // byte0 literal [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | instance.load(2, 0x34); // byte1 literal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = instance.load(2, 0x34); // byte1 literal [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | instance.load(3, 2); // register "R1" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 45 | let _ = instance.load(3, 2); // register "R1" [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.80s [INFO] running `Command { std: "docker" "inspect" "fe91c5cb48dc626c633a6d6a19212e36c99164b51045c8dc4388c4bb650f32cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe91c5cb48dc626c633a6d6a19212e36c99164b51045c8dc4388c4bb650f32cf", kill_on_drop: false }` [INFO] [stdout] fe91c5cb48dc626c633a6d6a19212e36c99164b51045c8dc4388c4bb650f32cf