[INFO] cloning repository https://github.com/Hwatwasthat/rust_computer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hwatwasthat/rust_computer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHwatwasthat%2Frust_computer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHwatwasthat%2Frust_computer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4cd1be15dbc416847d475cf61503ceded3424e19
[INFO] testing Hwatwasthat/rust_computer against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHwatwasthat%2Frust_computer" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Hwatwasthat/rust_computer on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Hwatwasthat/rust_computer
[INFO] finished tweaking git repo https://github.com/Hwatwasthat/rust_computer
[INFO] tweaked toml for git repo https://github.com/Hwatwasthat/rust_computer written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/Hwatwasthat/rust_computer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 21d7c690f99c3ad4355bcb2ce59ea074ce7270b3930c2cf125dff80483fff9bd
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "21d7c690f99c3ad4355bcb2ce59ea074ce7270b3930c2cf125dff80483fff9bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21d7c690f99c3ad4355bcb2ce59ea074ce7270b3930c2cf125dff80483fff9bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21d7c690f99c3ad4355bcb2ce59ea074ce7270b3930c2cf125dff80483fff9bd", kill_on_drop: false }`
[INFO] [stdout] 21d7c690f99c3ad4355bcb2ce59ea074ce7270b3930c2cf125dff80483fff9bd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 39989c0294a7dfd772be79a51cd9a0def811399afd98c9c04f7f3bf3156f7216
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "39989c0294a7dfd772be79a51cd9a0def811399afd98c9c04f7f3bf3156f7216", kill_on_drop: false }`
[INFO] [stderr]    Compiling basic_computer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/connections/bus.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/connections/bus.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `And3`, `And4`
[INFO] [stdout]  --> src/gates/decoder.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     and::{And, And3, And4},
[INFO] [stdout]   |                ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_connections`
[INFO] [stdout]   --> src/connections/bus.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn from_connections(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set`
[INFO] [stdout]   --> src/connections/bus.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn set(&self, input: &[u8]) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Enabler`
[INFO] [stdout]  --> src/connections/enabler.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Enabler {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/connections/enabler.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(inputs: &[Wrapper<Wire>], enable: &Wrapper<Wire>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/connections/enabler.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]   --> src/connections/enabler.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `And3`
[INFO] [stdout]   --> src/gates/and.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct And3 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/and.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn new(inputs: &[&Wrapper<Wire>]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/and.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_output`
[INFO] [stdout]   --> src/gates/and.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn get_output(&self) -> Wrapper<Wire> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `And4`
[INFO] [stdout]   --> src/gates/and.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct And4 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/and.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn new(inputs: &[&Wrapper<Wire>; 4]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/and.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_output`
[INFO] [stdout]   --> src/gates/and.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn get_output(&self) -> Wrapper<Wire> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Decoder3x8`
[INFO] [stdout]   --> src/gates/decoder.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Decoder3x8 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/decoder.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/decoder.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]   --> src/gates/decoder.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Decoder4x16`
[INFO] [stdout]   --> src/gates/decoder.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Decoder4x16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/decoder.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]    --> src/gates/decoder.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn update(&self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]    --> src/gates/decoder.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Decoder5x32`
[INFO] [stdout]    --> src/gates/decoder.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct Decoder5x32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/gates/decoder.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]    --> src/gates/decoder.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn update(&self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]    --> src/gates/decoder.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_no_connect`
[INFO] [stdout]   --> src/gates/nand.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_no_connect() -> Nand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `connect`
[INFO] [stdout]   --> src/gates/nand.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn connect(&mut self, wire_a: &Rc<RefCell<Wire>>, wire_b: &Rc<RefCell<Wire>>) -> &Nand {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Nor`
[INFO] [stdout]  --> src/gates/nor.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Nor {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/nor.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(input_a: &Wrapper<Wire>, input_b: &Wrapper<Wire>) -> Nor {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/nor.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_output`
[INFO] [stdout]   --> src/gates/nor.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn get_output(&self) -> Wrapper<Wire> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Or`
[INFO] [stdout]  --> src/gates/or.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Or {
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/or.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(input_a: &Wrapper<Wire>, input_b: &Wrapper<Wire>) -> Or {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/or.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_output`
[INFO] [stdout]   --> src/gates/or.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn get_output(&self) -> Rc<RefCell<Wire>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Xor`
[INFO] [stdout]  --> src/gates/xor.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Xor {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/xor.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(input_a: &Wrapper<Wire>, input_b: &Wrapper<Wire>) -> Xor {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/xor.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_output`
[INFO] [stdout]   --> src/gates/xor.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn get_output(&self) -> Wrapper<Wire> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Byte`
[INFO] [stdout]  --> src/memory/byte.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Byte {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/memory/byte.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(inputs: &[Wrapper<Wire>], set: &Wrapper<Wire>) -> Byte {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/memory/byte.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]   --> src/memory/byte.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Cell`
[INFO] [stdout]  --> src/memory/cell.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Cell {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/memory/cell.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(input: &Wrapper<Wire>, set: &Wrapper<Wire>) -> Cell {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/memory/cell.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_output`
[INFO] [stdout]   --> src/memory/cell.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn get_output(&self) -> Wrapper<Wire> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Register`
[INFO] [stdout]  --> src/memory/register.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Register {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/memory/register.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(inputs: &[Wrapper<Wire>], set: &Wrapper<Wire>, enable: &Wrapper<Wire>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/memory/register.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]   --> src/memory/register.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 55 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.20s
[INFO] running `Command { std: "docker" "inspect" "39989c0294a7dfd772be79a51cd9a0def811399afd98c9c04f7f3bf3156f7216", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39989c0294a7dfd772be79a51cd9a0def811399afd98c9c04f7f3bf3156f7216", kill_on_drop: false }`
[INFO] [stdout] 39989c0294a7dfd772be79a51cd9a0def811399afd98c9c04f7f3bf3156f7216
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 70444581ebc0941d44737411b8a631f39817a4dc287cbb92d5b6ed2bc0a2c151
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "70444581ebc0941d44737411b8a631f39817a4dc287cbb92d5b6ed2bc0a2c151", kill_on_drop: false }`
[INFO] [stderr]    Compiling basic_computer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `And3`, `And4`
[INFO] [stdout]  --> src/gates/decoder.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     and::{And, And3, And4},
[INFO] [stdout]   |                ^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/nor.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/not.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut in_a = Rc::new(RefCell::new(Wire::new()));
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/not.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut in_a = Rc::new(RefCell::new(Wire::new()));
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/xor.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/xor.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut output = xor.get_output();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/xor.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/xor.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut output = xor.get_output();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/xor.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gates/xor.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gates/xor.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut output = xor.get_output();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/and.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/and.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Decoder3x8`
[INFO] [stdout]   --> src/gates/decoder.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Decoder3x8 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/decoder.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/gates/decoder.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn update(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]   --> src/gates/decoder.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Decoder4x16`
[INFO] [stdout]   --> src/gates/decoder.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Decoder4x16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/gates/decoder.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]    --> src/gates/decoder.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn update(&self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]    --> src/gates/decoder.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Decoder5x32`
[INFO] [stdout]    --> src/gates/decoder.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct Decoder5x32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/gates/decoder.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]    --> src/gates/decoder.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn update(&self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_outputs`
[INFO] [stdout]    --> src/gates/decoder.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.45s
[INFO] running `Command { std: "docker" "inspect" "70444581ebc0941d44737411b8a631f39817a4dc287cbb92d5b6ed2bc0a2c151", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70444581ebc0941d44737411b8a631f39817a4dc287cbb92d5b6ed2bc0a2c151", kill_on_drop: false }`
[INFO] [stdout] 70444581ebc0941d44737411b8a631f39817a4dc287cbb92d5b6ed2bc0a2c151
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a4ff5238ab2d343ef68d1dea86f844bf6a6136f7a6be540dd350ba1870710074
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a4ff5238ab2d343ef68d1dea86f844bf6a6136f7a6be540dd350ba1870710074", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `And3`, `And4`
[INFO] [stderr]  --> src/gates/decoder.rs:3:16
[INFO] [stderr]   |
[INFO] [stderr] 3 |     and::{And, And3, And4},
[INFO] [stderr]   |                ^^^^  ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:43:13
[INFO] [stderr]    |
[INFO] [stderr] 43 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:53:13
[INFO] [stderr]    |
[INFO] [stderr] 53 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let mut wire_one = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/nor.rs:63:13
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let mut wire_two = Wire::new_wrapped();
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/not.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let mut in_a = Rc::new(RefCell::new(Wire::new()));
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/not.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let mut in_a = Rc::new(RefCell::new(Wire::new()));
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/xor.rs:49:13
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/xor.rs:51:13
[INFO] [stderr]    |
[INFO] [stderr] 51 |         let mut output = xor.get_output();
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/xor.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/xor.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut output = xor.get_output();
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/xor.rs:78:13
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gates/xor.rs:94:13
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let mut xor = Xor::new(&wire_one, &wire_two);
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gates/xor.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |         let mut output = xor.get_output();
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update`
[INFO] [stderr]   --> src/gates/and.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn update(&self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update`
[INFO] [stderr]   --> src/gates/and.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub fn update(&self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Decoder3x8`
[INFO] [stderr]   --> src/gates/decoder.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct Decoder3x8 {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/gates/decoder.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update`
[INFO] [stderr]   --> src/gates/decoder.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn update(&self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_outputs`
[INFO] [stderr]   --> src/gates/decoder.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 65 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Decoder4x16`
[INFO] [stderr]   --> src/gates/decoder.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub struct Decoder4x16 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/gates/decoder.rs:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update`
[INFO] [stderr]    --> src/gates/decoder.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn update(&self) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_outputs`
[INFO] [stderr]    --> src/gates/decoder.rs:113:12
[INFO] [stderr]     |
[INFO] [stderr] 113 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Decoder5x32`
[INFO] [stderr]    --> src/gates/decoder.rs:118:12
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub struct Decoder5x32 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]    --> src/gates/decoder.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub fn new(inputs: &[Wrapper<Wire>]) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update`
[INFO] [stderr]    --> src/gates/decoder.rs:165:12
[INFO] [stderr]     |
[INFO] [stderr] 165 |     pub fn update(&self) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_outputs`
[INFO] [stderr]    --> src/gates/decoder.rs:171:12
[INFO] [stderr]     |
[INFO] [stderr] 171 |     pub fn get_outputs(&self) -> Vec<Wrapper<Wire>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 32 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/basic_computer-17a7b1a684c68738
[INFO] [stdout] running 67 tests
[INFO] [stdout] test connections::bus::tests::should_only_set_last_four_bits_bus ... ok
[INFO] [stdout] test connections::bus::tests::setting_bus_after_getting_output_should_affect_output_bus ... ok
[INFO] [stdout] test connections::bus::tests::should_initialise_zeros_bus ... ok
[INFO] [stdout] test connections::bus::tests::initialise_from_vec_of_wires_bus ... ok
[INFO] [stdout] test connections::enabler::tests::inputs_and_enable_one_should_be_one_enabler ... ok
[INFO] [stdout] test connections::enabler::tests::inputs_and_enable_zero_should_be_zero_enabler ... ok
[INFO] [stdout] test connections::bus::tests::two_copies_of_output_should_read_same_bus ... ok
[INFO] [stdout] test connections::wire::tests::should_initialise_zero ... ok
[INFO] [stdout] test gates::and::tests_and3::all_set_should_be_one_and3 ... ok
[INFO] [stdout] test connections::wire::tests::should_hold_value_zero_when_set_after_being_one ... ok
[INFO] [stdout] test connections::enabler::tests::set_only_first_bit_in_enabler ... ok
[INFO] [stdout] test connections::enabler::tests::set_only_third_bit_in_enabler ... ok
[INFO] [stdout] test connections::wire::tests::should_hold_value_one_when_set ... ok
[INFO] [stdout] test connections::enabler::tests::inputs_one_and_enable_zero_should_be_zero_enabler ... ok
[INFO] [stdout] test gates::and::tests_and3::in_a_and_in_b_set_should_be_zero_and3 ... ok
[INFO] [stdout] test gates::and::tests_and4::in_b_and_in_c_set_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and::no_set_wires_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and4::in_a_and_in_b_set_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and3::only_in_b_set_should_be_zero_and3 ... ok
[INFO] [stdout] test gates::and::tests_and::only_in_a_set_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and::only_in_b_set_should_be_zero ... ok
[INFO] [stdout] test gates::decoder::tests_decoder2x4::one_one_set_should_be_fourth_set_decoder_2_x_4 ... ok
[INFO] [stdout] test gates::decoder::tests_decoder2x4::one_zero_set_should_be_third_set_decoder_2_x_4 ... ok
[INFO] [stdout] test gates::decoder::tests_decoder2x4::zero_one_set_should_be_second_set_decoder_2_x_4 ... ok
[INFO] [stdout] test gates::nand::tests::no_set_wires_should_be_one ... ok
[INFO] [stdout] test gates::decoder::tests_decoder2x4::zero_zero_should_be_first_set_decoder_2_x_4 ... ok
[INFO] [stdout] test gates::nand::tests::both_set_should_be_zero ... ok
[INFO] [stdout] test gates::nor::tests::both_set_should_be_zero ... ok
[INFO] [stdout] test gates::nand::tests::only_in_b_set_should_be_one ... ok
[INFO] [stdout] test gates::and::tests_and4::only_in_b_set_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and4::only_in_a_set_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and4::no_set_wires_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and3::only_in_a_set_should_be_zero_and3 ... ok
[INFO] [stdout] test gates::and::tests_and3::no_set_wires_should_be_zero_and3 ... ok
[INFO] [stdout] test gates::and::tests_and3::in_b_and_in_c_set_should_be_zero_and3 ... ok
[INFO] [stdout] test gates::nand::tests::only_in_a_set_should_be_one ... ok
[INFO] [stdout] test gates::and::tests_and4::in_a_and_in_c_set_should_be_zero ... ok
[INFO] [stdout] test gates::nor::tests::no_set_wire_should_be_one ... ok
[INFO] [stdout] test gates::nor::tests::only_wire_two_should_be_zero ... ok
[INFO] [stdout] test gates::and::tests_and3::in_a_and_in_c_set_should_be_zero_and3 ... ok
[INFO] [stdout] test gates::and::tests_and::both_set_should_be_one ... ok
[INFO] [stdout] test gates::and::tests_and4::all_set_should_be_one_and4 ... ok
[INFO] [stdout] test gates::and::tests_and3::only_in_c_set_should_be_zero_and3 ... ok
[INFO] [stdout] test gates::and::tests_and4::only_in_c_set_should_be_zero ... ok
[INFO] [stdout] test gates::nor::tests::only_wire_one_should_be_zero ... ok
[INFO] [stdout] test gates::xor::tests::only_in_b_set_should_be_one ... ok
[INFO] [stdout] test gates::or::tests::only_wire_one_should_be_one ... ok
[INFO] [stdout] test gates::xor::tests::no_set_wires_should_be_zero ... ok
[INFO] [stdout] test memory::byte::tests::inputs_and_set_one_should_be_one_byte ... ok
[INFO] [stdout] test memory::byte::tests::set_only_first_bit_in_byte ... ok
[INFO] [stdout] test gates::or::tests::no_set_wire_should_be_zero ... ok
[INFO] [stdout] test gates::not::tests::no_set_wires_should_be_one ... ok
[INFO] [stdout] test gates::or::tests::both_set_should_be_one ... ok
[INFO] [stdout] test gates::xor::tests::only_in_a_set_should_be_one ... ok
[INFO] [stdout] test memory::byte::tests::inputs_one_and_set_zero_should_be_zero_byte ... ok
[INFO] [stdout] test memory::byte::tests::inputs_and_set_zero_should_be_zero_byte ... ok
[INFO] [stdout] test gates::xor::tests::both_set_should_be_zero ... ok
[INFO] [stdout] test memory::byte::tests::set_only_third_bit_in_byte ... ok
[INFO] [stdout] test gates::not::tests::in_set_should_be_zero ... ok
[INFO] [stdout] test gates::or::tests::only_wire_two_should_be_one ... ok
[INFO] [stdout] test memory::cell::tests::input_and_set_zero_should_be_zero ... ok
[INFO] [stdout] test memory::cell::tests::input_and_set_one_should_be_one ... ok
[INFO] [stdout] test memory::cell::tests::input_one_and_set_zero_should_be_zero ... ok
[INFO] [stdout] test memory::register::tests::inputs_one_enable_one_set_zero_should_be_zero_register ... ok
[INFO] [stdout] test memory::register::tests::inputs_one_enable_one_set_one_should_be_one_register ... ok
[INFO] [stdout] test memory::register::tests::inputs_enable_and_set_zero_should_be_zero_register ... ok
[INFO] [stdout] test memory::register::tests::inputs_one_enable_zero_set_one_should_be_zero_register ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a4ff5238ab2d343ef68d1dea86f844bf6a6136f7a6be540dd350ba1870710074", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4ff5238ab2d343ef68d1dea86f844bf6a6136f7a6be540dd350ba1870710074", kill_on_drop: false }`
[INFO] [stdout] a4ff5238ab2d343ef68d1dea86f844bf6a6136f7a6be540dd350ba1870710074
