[INFO] cloning repository https://github.com/zasekle/logical_cpu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zasekle/logical_cpu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzasekle%2Flogical_cpu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzasekle%2Flogical_cpu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 444acaee8f80a5ee4f66c20c76bb0a3e29fe962e
[INFO] testing zasekle/logical_cpu against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzasekle%2Flogical_cpu" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/zasekle/logical_cpu on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/zasekle/logical_cpu
[INFO] finished tweaking git repo https://github.com/zasekle/logical_cpu
[INFO] tweaked toml for git repo https://github.com/zasekle/logical_cpu written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/zasekle/logical_cpu 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90140403372bb629bbf5a5ced2b783d5af72cb129d98e82a8cb5ea7095692aff
[INFO] running `Command { std: "docker" "start" "-a" "90140403372bb629bbf5a5ced2b783d5af72cb129d98e82a8cb5ea7095692aff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90140403372bb629bbf5a5ced2b783d5af72cb129d98e82a8cb5ea7095692aff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90140403372bb629bbf5a5ced2b783d5af72cb129d98e82a8cb5ea7095692aff", kill_on_drop: false }`
[INFO] [stdout] 90140403372bb629bbf5a5ced2b783d5af72cb129d98e82a8cb5ea7095692aff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4fa0f0402a07a82043854941fb698179e8a354a2d508eae587d6baf599c5880e
[INFO] running `Command { std: "docker" "start" "-a" "4fa0f0402a07a82043854941fb698179e8a354a2d508eae587d6baf599c5880e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling memchr v2.6.3
[INFO] [stderr]    Compiling gimli v0.28.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling object v0.32.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling addr2line v0.21.0
[INFO] [stderr]    Compiling logical_cpu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `LoggingMutexGuard`, `UsedMutex`
[INFO] [stdout]   --> src/logic/arithmetic_gates.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::shared_mutex::{LoggingMutexGuard, new_shared_mutex, SharedMutex, UsedMutex};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `extract_string_from_connected_output`
[INFO] [stdout]  --> src/run_circuit.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::logic::foundations::{connect_gates, extract_string_from_connected_output, extract_string_from_gate_output_states, GateInput, G...
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::logic::basic_gates::Or`
[INFO] [stdout]   --> src/run_circuit.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::logic::basic_gates::Or;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal_clone`
[INFO] [stdout]    --> src/run_circuit.rs:958:9
[INFO] [stdout]     |
[INFO] [stdout] 958 |         signal_clone: &mut Arc<CondvarWrapper>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal_clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/run_circuit.rs:1253:13
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         let mut mutable_input_gate = input_gate.lock().unwrap();
[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: unused variable: `id`
[INFO] [stdout]   --> src/shared_mutex.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn new_used_mutex<T>(id: i32, data: T) -> UsedMutex<T> {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_output_signals_no_calculate`, `toggle_output_printing`, `num_children_gates`, and `get_input_gates` are never used
[INFO] [stdout]    --> src/logic/foundations.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 99  | pub trait LogicGate: Send {
[INFO] [stdout]     |           --------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn fetch_output_signals_no_calculate(&mut self) -> Result<Vec<GateOutputState>, GateLogicError>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn toggle_output_printing(&mut self, print_output: bool);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn num_children_gates(&self) -> usize;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 |
[INFO] [stdout] 139 |     fn get_input_gates(&self) -> Vec<SharedMutex<dyn LogicGate>>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_string_from_gate_output_states` is never used
[INFO] [stdout]    --> src/logic/foundations.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn extract_string_from_gate_output_states(connected_output: &Vec<GateOutputState>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_string_from_connected_output` is never used
[INFO] [stdout]    --> src/logic/foundations.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn extract_string_from_connected_output(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUM_CHILDREN_GATES_FOR_LARGE_GATE` is never used
[INFO] [stdout]   --> src/run_circuit.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | static NUM_CHILDREN_GATES_FOR_LARGE_GATE: usize = 7;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `wait_count` and `completed` are never read
[INFO] [stdout]   --> src/run_circuit.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct CondVarVariables {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 25 |     wait_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     completed: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cond` and `mutex` are never read
[INFO] [stdout]   --> src/run_circuit.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct CondvarWrapper {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 30 |     cond: Condvar,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     mutex: UsedMutex<CondVarVariables>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `wait`, `notify_one`, `notify_all`, `get_wait_count`, and `set_to_completed` are never used
[INFO] [stdout]   --> src/run_circuit.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl CondvarWrapper {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 35 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn wait(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn notify_one(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn notify_all(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_wait_count(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn set_to_completed(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Running`, `Redo`, and `Cancel` are never constructed
[INFO] [stdout]   --> src/run_circuit.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | enum ProcessingGateStatus {
[INFO] [stdout]    |      -------------------- variants in this enum
[INFO] [stdout] 77 |     Running,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 78 |     Redo,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 79 |     Cancel,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessingGateStatus` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Large` and `Small` are never constructed
[INFO] [stdout]   --> src/run_circuit.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ProcessingSizeOfGate {
[INFO] [stdout]    |      -------------------- variants in this enum
[INFO] [stdout] 83 |     Large {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     Small,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Large` and `Small` are never constructed
[INFO] [stdout]    --> src/run_circuit.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | enum WaitingSizeOfGate {
[INFO] [stdout]     |      ----------------- variants in this enum
[INFO] [stdout] 118 |     Large {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     Small,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WaitingSizeOfGate` 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 function `convert_from_processing` is never used
[INFO] [stdout]    --> src/run_circuit.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl WaitingSizeOfGate {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 126 |     fn convert_from_processing(size: &ProcessingSizeOfGate, initially_added: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parent_id`, `processing_type`, and `status` are never read
[INFO] [stdout]    --> src/run_circuit.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct ProcessingGate {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 139 |     parent_id: UniqueID,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 140 |     processing_type: ProcessingSizeOfGate,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     status: ProcessingGateStatus,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ProcessingGate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parent_id` and `gate` are never read
[INFO] [stdout]    --> src/run_circuit.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct ParentIdAndGate {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 145 |     parent_id: UniqueID,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 146 |     gate: SharedMutex<dyn LogicGate>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parental_tree`, `processing_set`, `waiting_to_be_processed_set`, `gates`, and `input_gate_output_states` are never read
[INFO] [stdout]    --> src/run_circuit.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct ThreadPoolLists {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 150 |     //The key is the parent ID and the set is the child IDs.
[INFO] [stdout] 151 |     parental_tree: HashMap<UniqueID, HashSet<UniqueID>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 152 |     //The gates that are currently being run by a thread. These are not in the 'gates' Vec.
[INFO] [stdout] 153 |     processing_set: HashMap<UniqueID, ProcessingGate>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     waiting_to_be_processed_set: HashMap<UniqueID, WaitingSizeOfGate>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 157 |     gates: VecDeque<ParentIdAndGate>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 158 |     input_gate_output_states: Vec<(String, Vec<GateOutputState>)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> src/run_circuit.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl ThreadPoolLists {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 162 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `thread_pool_lists`, `propagate_signal`, `condvar_wrapper`, `num_threads_running`, `processing_completed`, and `wait_for_completion` are never read
[INFO] [stdout]    --> src/run_circuit.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct RunCircuitThreadPool {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 177 |     thread_pool_lists: Arc<UsedMutex<ThreadPoolLists>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     propagate_signal: Arc<AtomicBool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     condvar_wrapper: Arc<CondvarWrapper>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     num_threads_running: Arc<AtomicI32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     //todo: can delete this, condvar counts waiting threads now
[INFO] [stdout] 185 |     processing_completed: Arc<UsedMutex<bool>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 186 |     wait_for_completion: Arc<Condvar>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueueElement` is never constructed
[INFO] [stdout]    --> src/run_circuit.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct QueueElement {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/run_circuit.rs:213:12
[INFO] [stdout]      |
[INFO] [stdout] 212  | impl RunCircuitThreadPool {
[INFO] [stdout]      | ------------------------- associated items in this implementation
[INFO] [stdout] 213  |     pub fn new(size: usize) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 833  |     fn update_propagate_signal(&mut self, propagate_signal: bool) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 840  |     fn update_parent_gate(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 935  |     fn internal_shutdown(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 947  |     pub fn shutdown(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955  |     pub fn complete_queue(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 968  |     pub fn join(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 988  |     pub fn add_to_queue(
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1001 |     pub fn get_input_gate_outputs(&self) -> Vec<(String, Vec<GateOutputState>)> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1007 |     fn add_to_queue_internal(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_circuit_multi_thread` is never used
[INFO] [stdout]     --> src/run_circuit.rs:1239:8
[INFO] [stdout]      |
[INFO] [stdout] 1239 | pub fn run_circuit_multi_thread<F>(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `take_guard` are never used
[INFO] [stdout]   --> src/shared_mutex.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<'a, T: ?Sized> LoggingMutexGuard<'a, T> {
[INFO] [stdout]    | -------------------------------------------- associated items in this implementation
[INFO] [stdout] 11 |     // Constructor for the custom guard
[INFO] [stdout] 12 |     fn new(id: i32, guard: MutexGuard<'a, T>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn take_guard(&mut self) -> MutexGuard<'a, T> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoggingMutex` is never constructed
[INFO] [stdout]   --> src/shared_mutex.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct LoggingMutex<T: ?Sized> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `lock` are never used
[INFO] [stdout]   --> src/shared_mutex.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ?Sized> LoggingMutex<T> {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 48 |     // Constructor for the custom mutex
[INFO] [stdout] 49 |     pub fn new(id: i32, data: T) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<T>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.60s
[INFO] running `Command { std: "docker" "inspect" "4fa0f0402a07a82043854941fb698179e8a354a2d508eae587d6baf599c5880e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fa0f0402a07a82043854941fb698179e8a354a2d508eae587d6baf599c5880e", kill_on_drop: false }`
[INFO] [stdout] 4fa0f0402a07a82043854941fb698179e8a354a2d508eae587d6baf599c5880e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 87b48879a1098e33d4cbbc8f0416e4793297f9179edb6eebf2ee05c3898a944c
[INFO] running `Command { std: "docker" "start" "-a" "87b48879a1098e33d4cbbc8f0416e4793297f9179edb6eebf2ee05c3898a944c", kill_on_drop: false }`
[INFO] [stderr]    Compiling logical_cpu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `LoggingMutexGuard`, `UsedMutex`
[INFO] [stdout]   --> src/logic/arithmetic_gates.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::shared_mutex::{LoggingMutexGuard, new_shared_mutex, SharedMutex, UsedMutex};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `extract_string_from_connected_output`
[INFO] [stdout]  --> src/run_circuit.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::logic::foundations::{connect_gates, extract_string_from_connected_output, extract_string_from_gate_output_states, GateInput, G...
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::logic::basic_gates::Or`
[INFO] [stdout]   --> src/run_circuit.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::logic::basic_gates::Or;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal_clone`
[INFO] [stdout]    --> src/run_circuit.rs:958:9
[INFO] [stdout]     |
[INFO] [stdout] 958 |         signal_clone: &mut Arc<CondvarWrapper>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal_clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/run_circuit.rs:1253:13
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         let mut mutable_input_gate = input_gate.lock().unwrap();
[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: unused variable: `output_gate`
[INFO] [stdout]     --> src/run_circuit.rs:2363:25
[INFO] [stdout]      |
[INFO] [stdout] 2363 |                     for output_gate in output_gates {
[INFO] [stdout]      |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_gate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex_guard_first`
[INFO] [stdout]     --> src/run_circuit.rs:2502:17
[INFO] [stdout]      |
[INFO] [stdout] 2502 |             let mutex_guard_first = clone_one_one.lock();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex_guard_second`
[INFO] [stdout]     --> src/run_circuit.rs:2506:17
[INFO] [stdout]      |
[INFO] [stdout] 2506 |             let mutex_guard_second = clone_two_one.lock();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex_guard_first`
[INFO] [stdout]     --> src/run_circuit.rs:2522:17
[INFO] [stdout]      |
[INFO] [stdout] 2522 |             let mutex_guard_first = clone_two_two.lock();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex_guard_second`
[INFO] [stdout]     --> src/run_circuit.rs:2526:17
[INFO] [stdout]      |
[INFO] [stdout] 2526 |             let mutex_guard_second = clone_one_two.lock();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/shared_mutex.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn new_used_mutex<T>(id: i32, data: T) -> UsedMutex<T> {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_large_gate` is never used
[INFO] [stdout]     --> src/run_circuit.rs:2232:8
[INFO] [stdout]      |
[INFO] [stdout] 2232 |     fn create_large_gate() -> (usize, SharedMutex<VariableBitMemoryCell>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `oscillation_multi_thread` is never used
[INFO] [stdout]     --> src/run_circuit.rs:2402:12
[INFO] [stdout]      |
[INFO] [stdout] 2402 |         fn oscillation_multi_thread() {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `take_guard` are never used
[INFO] [stdout]   --> src/shared_mutex.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<'a, T: ?Sized> LoggingMutexGuard<'a, T> {
[INFO] [stdout]    | -------------------------------------------- associated items in this implementation
[INFO] [stdout] 11 |     // Constructor for the custom guard
[INFO] [stdout] 12 |     fn new(id: i32, guard: MutexGuard<'a, T>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn take_guard(&mut self) -> MutexGuard<'a, T> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoggingMutex` is never constructed
[INFO] [stdout]   --> src/shared_mutex.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct LoggingMutex<T: ?Sized> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `lock` are never used
[INFO] [stdout]   --> src/shared_mutex.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ?Sized> LoggingMutex<T> {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 48 |     // Constructor for the custom mutex
[INFO] [stdout] 49 |     pub fn new(id: i32, data: T) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<T>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.49s
[INFO] running `Command { std: "docker" "inspect" "87b48879a1098e33d4cbbc8f0416e4793297f9179edb6eebf2ee05c3898a944c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87b48879a1098e33d4cbbc8f0416e4793297f9179edb6eebf2ee05c3898a944c", kill_on_drop: false }`
[INFO] [stdout] 87b48879a1098e33d4cbbc8f0416e4793297f9179edb6eebf2ee05c3898a944c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 75376a346f732e3c539257f9e98a96f34645d31724ccdcc8671ea9b6d76df227
[INFO] running `Command { std: "docker" "start" "-a" "75376a346f732e3c539257f9e98a96f34645d31724ccdcc8671ea9b6d76df227", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `LoggingMutexGuard`, `UsedMutex`
[INFO] [stderr]   --> src/logic/arithmetic_gates.rs:12:27
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::shared_mutex::{LoggingMutexGuard, new_shared_mutex, SharedMutex, UsedMutex};
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^                                 ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `extract_string_from_connected_output`
[INFO] [stderr]  --> src/run_circuit.rs:9:48
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::logic::foundations::{connect_gates, extract_string_from_connected_output, extract_string_from_gate_output_states, GateInput, G...
[INFO] [stderr]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::logic::basic_gates::Or`
[INFO] [stderr]   --> src/run_circuit.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::logic::basic_gates::Or;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signal_clone`
[INFO] [stderr]    --> src/run_circuit.rs:958:9
[INFO] [stderr]     |
[INFO] [stderr] 958 |         signal_clone: &mut Arc<CondvarWrapper>,
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal_clone`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/run_circuit.rs:1253:13
[INFO] [stderr]      |
[INFO] [stderr] 1253 |         let mut mutable_input_gate = input_gate.lock().unwrap();
[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: unused variable: `output_gate`
[INFO] [stderr]     --> src/run_circuit.rs:2363:25
[INFO] [stderr]      |
[INFO] [stderr] 2363 |                     for output_gate in output_gates {
[INFO] [stderr]      |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_gate`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mutex_guard_first`
[INFO] [stderr]     --> src/run_circuit.rs:2502:17
[INFO] [stderr]      |
[INFO] [stderr] 2502 |             let mutex_guard_first = clone_one_one.lock();
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_first`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mutex_guard_second`
[INFO] [stderr]     --> src/run_circuit.rs:2506:17
[INFO] [stderr]      |
[INFO] [stderr] 2506 |             let mutex_guard_second = clone_two_one.lock();
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_second`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mutex_guard_first`
[INFO] [stderr]     --> src/run_circuit.rs:2522:17
[INFO] [stderr]      |
[INFO] [stderr] 2522 |             let mutex_guard_first = clone_two_two.lock();
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_first`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mutex_guard_second`
[INFO] [stderr]     --> src/run_circuit.rs:2526:17
[INFO] [stderr]      |
[INFO] [stderr] 2526 |             let mutex_guard_second = clone_one_two.lock();
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex_guard_second`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> src/shared_mutex.rs:72:26
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub fn new_used_mutex<T>(id: i32, data: T) -> UsedMutex<T> {
[INFO] [stderr]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_large_gate` is never used
[INFO] [stderr]     --> src/run_circuit.rs:2232:8
[INFO] [stderr]      |
[INFO] [stderr] 2232 |     fn create_large_gate() -> (usize, SharedMutex<VariableBitMemoryCell>) {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `oscillation_multi_thread` is never used
[INFO] [stderr]     --> src/run_circuit.rs:2402:12
[INFO] [stderr]      |
[INFO] [stderr] 2402 |         fn oscillation_multi_thread() {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `take_guard` are never used
[INFO] [stderr]   --> src/shared_mutex.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl<'a, T: ?Sized> LoggingMutexGuard<'a, T> {
[INFO] [stderr]    | -------------------------------------------- associated items in this implementation
[INFO] [stderr] 11 |     // Constructor for the custom guard
[INFO] [stderr] 12 |     fn new(id: i32, guard: MutexGuard<'a, T>) -> Self {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn take_guard(&mut self) -> MutexGuard<'a, T> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LoggingMutex` is never constructed
[INFO] [stderr]   --> src/shared_mutex.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub struct LoggingMutex<T: ?Sized> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `lock` are never used
[INFO] [stderr]   --> src/shared_mutex.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl<T: ?Sized> LoggingMutex<T> {
[INFO] [stderr]    | ------------------------------- associated items in this implementation
[INFO] [stderr] 48 |     // Constructor for the custom mutex
[INFO] [stderr] 49 |     pub fn new(id: i32, data: T) -> Self
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<T>> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `logical_cpu` (bin "logical_cpu" test) generated 16 warnings (run `cargo fix --bin "logical_cpu" --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/logical_cpu-b92d734ded30d024)
[INFO] [stdout] 
[INFO] [stdout] running 156 tests
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_high_high_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_high_low_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_high_low_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_high_high_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_low_high_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_low_high_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_low_low_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_low_low_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::half_adder_high_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::half_adder_high_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::half_adder_low_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::half_adder_low_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::splitter_properly_splits ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_z_gate_tests ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_and_gate_high_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_and_gate_high_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_and_gate_low_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_and_gate_low_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::xor_le_test ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_controlled_buffer_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_controlled_buffer_initialization ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_controlled_buffer_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_controlled_buffer_nested_in_complex_gate ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nand_gate_high_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nand_gate_high_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nand_gate_low_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nand_gate_low_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nor_gate_high_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nor_gate_high_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nor_gate_low_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_none_signal_working ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nor_gate_low_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_not_gate_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_not_gate_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_or_gate_high_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_or_gate_low_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_or_gate_high_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_or_gate_low_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_not_tests ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_xor_gate_high_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_xor_gate_high_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_xor_gate_low_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_xor_gate_low_low ... ok
[INFO] [stdout] test logic::complex_logic::tests::cpu_enable_initialization ... ok
[INFO] [stdout] test logic::complex_logic::tests::cpu_enable_inputs_change ... ok
[INFO] [stdout] test logic::complex_logic::tests::four_cycle_clock_hookup_initialization ... ok
[INFO] [stdout] test logic::complex_logic::tests::master_slave_jk_flip_flop_initialization ... ok
[INFO] [stdout] test logic::complex_logic::tests::four_cycle_clock_hookup_run ... ok
[INFO] [stdout] test logic::complex_logic::tests::multiplexer_init ... ok
[INFO] [stdout] test logic::complex_logic::tests::master_slave_jk_flip_flop_run ... ok
[INFO] [stdout] test logic::complex_logic::tests::signal_gatekeeper_tests ... ok
[INFO] [stdout] test logic::complex_logic::tests::multiplexer_run ... ok
[INFO] [stdout] test logic::complex_logic::tests::variable_bit_counter_initialization ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_enable_tests ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_and_or_tests ... ok
[INFO] [stdout] test logic::complex_logic::tests::variable_bit_counter_run ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::arithmetic_logic_unit_zero_test ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_controlled_buffer_multiple_inputs - should panic ... ok
[INFO] [stdout] test logic::complex_logic::tests::variable_output_stepper_tests ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::arithmetic_logic_unit_off_test ... ok
[INFO] [stdout] test logic::complex_logic::tests::multiplexer_invalid_num_input - should panic ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_clear_flags ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_initialization ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_add ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_fetch_instructions ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_and ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_jump ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_cmp ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_data ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_jump_addr ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_load ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_jump_if_false ... ok
[INFO] [stdout] test logic::memory_gates::tests::active_low_sr_gate_high_high_after_high_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::active_low_sr_gate_high_high_after_low_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::active_low_sr_gate_high_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::active_low_sr_gate_initialization ... ok
[INFO] [stdout] test logic::memory_gates::tests::active_low_sr_gate_low_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::active_low_sr_gate_low_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_high_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_high_high_to_high_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_high_high_to_low_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_high_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_high_low_to_high_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_high_low_to_low_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_initialization ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_jump_if_true ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_low_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_low_low_to_low_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_low_high_to_low_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::sr_gate_high_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::sr_gate_high_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::sr_gate_initialization ... ok
[INFO] [stdout] test logic::memory_gates::tests::sr_gate_low_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::sr_gate_low_low_after_low_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::sr_gate_low_low_after_high_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_saved_states ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_mem_initialization ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_signal_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_signal_high ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_shift_left ... ok
[INFO] [stdout] test logic::processor_components::tests::decoder_all_numbers ... ok
[INFO] [stdout] test logic::processor_components::tests::decoder_initialization ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_initialization ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_enable_bit_low ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_set_bit_low ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_not ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_simple_test ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_low_h ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_low_v ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_shift_right ... ok
[INFO] [stdout] test logic::processor_components::tests::variable_bit_bus_one_test ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_store ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_adder_tests ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_set ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_reset ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_or ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_xor ... ok
[INFO] [stdout] test logic::processor_components::tests::ram_unit_test ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_xor_le ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_shift_tests ... ok
[INFO] [stdout] test logic::variable_bit_cpu::tests::end_instruction ... FAILED
[INFO] [stdout] test logic::arithmetic_gates::tests::arithmetic_logic_unit_xor_test ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin logical_cpu`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/logical_cpu-b92d734ded30d024` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "75376a346f732e3c539257f9e98a96f34645d31724ccdcc8671ea9b6d76df227", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75376a346f732e3c539257f9e98a96f34645d31724ccdcc8671ea9b6d76df227", kill_on_drop: false }`
[INFO] [stdout] 75376a346f732e3c539257f9e98a96f34645d31724ccdcc8671ea9b6d76df227
