[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#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[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] 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] validating manifest of git repo https://github.com/zasekle/logical_cpu on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5a5d02076cd7a610f9e78f50ce7e9e8bb6c3e1445fa1d1419803d24306e320a
[INFO] running `Command { std: "docker" "start" "-a" "b5a5d02076cd7a610f9e78f50ce7e9e8bb6c3e1445fa1d1419803d24306e320a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5a5d02076cd7a610f9e78f50ce7e9e8bb6c3e1445fa1d1419803d24306e320a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5a5d02076cd7a610f9e78f50ce7e9e8bb6c3e1445fa1d1419803d24306e320a", kill_on_drop: false }`
[INFO] [stdout] b5a5d02076cd7a610f9e78f50ce7e9e8bb6c3e1445fa1d1419803d24306e320a
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4688f84c1c691b49065203de4907c86f248e467161e16d8b5e5752170bb1c3a
[INFO] running `Command { std: "docker" "start" "-a" "c4688f84c1c691b49065203de4907c86f248e467161e16d8b5e5752170bb1c3a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling gimli v0.28.0
[INFO] [stderr]    Compiling memchr v2.6.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling object v0.32.1
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[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` and `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)]` (part of `#[warn(unused)]`) 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, GateInpu...
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: associated functions `fetch_output_signals_no_calculate_basic_gate` and `fetch_output_signals_no_calculate` are never used
[INFO] [stdout]    --> src/logic/foundations.rs:959:12
[INFO] [stdout]     |
[INFO] [stdout] 828 | impl GateLogic {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 959 |     pub fn fetch_output_signals_no_calculate_basic_gate(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 973 |     pub fn fetch_output_signals_no_calculate(
[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: struct `CondVarVariables` is never constructed
[INFO] [stdout]   --> src/run_circuit.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct CondVarVariables {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CondvarWrapper` is never constructed
[INFO] [stdout]   --> src/run_circuit.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct CondvarWrapper {
[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: enum `ProcessingGateStatus` is never used
[INFO] [stdout]   --> src/run_circuit.rs:76:6
[INFO] [stdout]    |
[INFO] [stdout] 76 | enum ProcessingGateStatus {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessingSizeOfGate` is never used
[INFO] [stdout]   --> src/run_circuit.rs:82:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ProcessingSizeOfGate {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WaitingSizeOfGate` is never used
[INFO] [stdout]    --> src/run_circuit.rs:117:6
[INFO] [stdout]     |
[INFO] [stdout] 117 | enum WaitingSizeOfGate {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[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: struct `ProcessingGate` is never constructed
[INFO] [stdout]    --> src/run_circuit.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct ProcessingGate {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParentIdAndGate` is never constructed
[INFO] [stdout]    --> src/run_circuit.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct ParentIdAndGate {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThreadPoolLists` is never constructed
[INFO] [stdout]    --> src/run_circuit.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct ThreadPoolLists {
[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: struct `RunCircuitThreadPool` is never constructed
[INFO] [stdout]    --> src/run_circuit.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct RunCircuitThreadPool {
[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: struct `LoggingMutexGuard` is never constructed
[INFO] [stdout]  --> src/shared_mutex.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct LoggingMutexGuard<'a, T: ?Sized> {
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:132:36
[INFO] [stdout]     |
[INFO] [stdout] 132 |         println!("RAM_TIME: {:?}", RAM_TIME);
[INFO] [stdout]     |                                    ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:133:48
[INFO] [stdout]     |
[INFO] [stdout] 133 |         println!("CONTROL_SECTION_TIME: {:?}", CONTROL_SECTION_TIME);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |         println!("ALU_TIME: {:?}", ALU_TIME);
[INFO] [stdout]     |                                    ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]  --> src/globals.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         CLOCK_TICK_NUMBER.clone()
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]   |
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]   = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/shared_mutex.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<'_, T>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.44s
[INFO] running `Command { std: "docker" "inspect" "c4688f84c1c691b49065203de4907c86f248e467161e16d8b5e5752170bb1c3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4688f84c1c691b49065203de4907c86f248e467161e16d8b5e5752170bb1c3a", kill_on_drop: false }`
[INFO] [stdout] c4688f84c1c691b49065203de4907c86f248e467161e16d8b5e5752170bb1c3a
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1942a9e45432213afb034d15a0a5c5899a7988c1a1776eac08aa4f3ba09269a9
[INFO] running `Command { std: "docker" "start" "-a" "1942a9e45432213afb034d15a0a5c5899a7988c1a1776eac08aa4f3ba09269a9", kill_on_drop: false }`
[INFO] [stderr]    Compiling logical_cpu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `LoggingMutexGuard` and `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)]` (part of `#[warn(unused)]`) 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, GateInpu...
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: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: `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: `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)]` (part of `#[warn(unused)]`) 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: struct `LoggingMutexGuard` is never constructed
[INFO] [stdout]  --> src/shared_mutex.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct LoggingMutexGuard<'a, T: ?Sized> {
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:132:36
[INFO] [stdout]     |
[INFO] [stdout] 132 |         println!("RAM_TIME: {:?}", RAM_TIME);
[INFO] [stdout]     |                                    ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:133:48
[INFO] [stdout]     |
[INFO] [stdout] 133 |         println!("CONTROL_SECTION_TIME: {:?}", CONTROL_SECTION_TIME);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |         println!("ALU_TIME: {:?}", ALU_TIME);
[INFO] [stdout]     |                                    ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]  --> src/globals.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         CLOCK_TICK_NUMBER.clone()
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]   |
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]   = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/shared_mutex.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<'_, T>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.44s
[INFO] running `Command { std: "docker" "inspect" "1942a9e45432213afb034d15a0a5c5899a7988c1a1776eac08aa4f3ba09269a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1942a9e45432213afb034d15a0a5c5899a7988c1a1776eac08aa4f3ba09269a9", kill_on_drop: false }`
[INFO] [stdout] 1942a9e45432213afb034d15a0a5c5899a7988c1a1776eac08aa4f3ba09269a9
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d5361940e04159c9569163242c39d67ebb28beb45a922f81ef0dc9b17a76ecd4
[INFO] running `Command { std: "docker" "start" "-a" "d5361940e04159c9569163242c39d67ebb28beb45a922f81ef0dc9b17a76ecd4", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `LoggingMutexGuard` and `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)]` (part of `#[warn(unused)]`) 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, GateInpu...
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: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: `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: `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)]` (part of `#[warn(unused)]`) 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: struct `LoggingMutexGuard` is never constructed
[INFO] [stderr]  --> src/shared_mutex.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct LoggingMutexGuard<'a, T: ?Sized> {
[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: creating a shared reference to mutable static
[INFO] [stderr]    --> src/main.rs:132:36
[INFO] [stderr]     |
[INFO] [stderr] 132 |         println!("RAM_TIME: {:?}", RAM_TIME);
[INFO] [stderr]     |                                    ^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/main.rs:133:48
[INFO] [stderr]     |
[INFO] [stderr] 133 |         println!("CONTROL_SECTION_TIME: {:?}", CONTROL_SECTION_TIME);
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/main.rs:134:36
[INFO] [stderr]     |
[INFO] [stderr] 134 |         println!("ALU_TIME: {:?}", ALU_TIME);
[INFO] [stderr]     |                                    ^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]  --> src/globals.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |         CLOCK_TICK_NUMBER.clone()
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]   |
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]   = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/shared_mutex.rs:60:17
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub fn lock(&self) -> LockResult<LoggingMutexGuard<T>> {
[INFO] [stderr]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[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 22 warnings (run `cargo fix --bin "logical_cpu" -p logical_cpu --tests` to apply 12 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/logical_cpu-6e1fa4948852dbb4)
[INFO] [stdout] 
[INFO] [stdout] running 156 tests
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_high_low_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_high_low_low ... 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::full_adder_high_high_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::half_adder_low_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_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_low_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::half_adder_high_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::full_adder_low_high_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::splitter_properly_splits ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_and_gate_high_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_z_gate_tests ... 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::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_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nand_gate_low_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::xor_le_test ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_nor_gate_high_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_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_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_low ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_or_gate_low_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_or_gate_low_low ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_enable_tests ... 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_low_high ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_or_gate_high_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::basic_gates::tests::test_xor_gate_high_low ... ok
[INFO] [stdout] test logic::complex_logic::tests::cpu_enable_inputs_change ... 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_initialization ... 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::four_cycle_clock_hookup_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::arithmetic_logic_unit_zero_test ... ok
[INFO] [stdout] test logic::complex_logic::tests::variable_bit_counter_run ... ok
[INFO] [stdout] test logic::basic_gates::tests::test_controlled_buffer_multiple_inputs - should panic ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_and_or_tests ... ok
[INFO] [stdout] test logic::complex_logic::tests::multiplexer_invalid_num_input - should panic ... ok
[INFO] [stdout] test logic::complex_logic::tests::variable_output_stepper_tests ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_clear_flags ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_fetch_instructions ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_add ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_data ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_and ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_initialization ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_cmp ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_jump_addr ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_jump ... 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::control_section::tests::control_section_jump_if_true ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_adder_tests ... 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_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::active_low_sr_gate_low_high ... 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_low_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_low_high_to_low_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_low_low_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_high_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::sr_gate_low_low_after_low_high ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_xor_le ... ok
[INFO] [stdout] test logic::memory_gates::tests::one_bit_mem_initialization ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_signal_high ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_signal_low ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_saved_states ... ok
[INFO] [stdout] test logic::processor_components::tests::decoder_initialization ... ok
[INFO] [stdout] test logic::processor_components::tests::decoder_all_numbers ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_store ... ok
[INFO] [stdout] test logic::memory_gates::tests::variable_bit_mem_initialization ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_enable_bit_low ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_xor ... ok
[INFO] [stdout] test logic::arithmetic_gates::tests::arithmetic_logic_unit_off_test ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_initialization ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_set_bit_low ... ok
[INFO] [stdout] test logic::processor_components::tests::processor_register_simple_test ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_not ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_low_h ... ok
[INFO] [stdout] test logic::processor_components::tests::variable_bit_bus_one_test ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_set ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_low_v ... ok
[INFO] [stdout] test logic::processor_components::tests::single_ram_cell_reset ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_shift_left ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_shift_right ... ok
[INFO] [stdout] test logic::control_section::tests::control_section_or ... ok
[INFO] [stdout] test logic::processor_components::tests::ram_unit_test ... ok
[INFO] [stdout] test logic::variable_bit_cpu::tests::end_instruction ... FAILED
[INFO] [stdout] test logic::arithmetic_gates::tests::variable_bit_shift_tests ... ok
[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-6e1fa4948852dbb4` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "d5361940e04159c9569163242c39d67ebb28beb45a922f81ef0dc9b17a76ecd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5361940e04159c9569163242c39d67ebb28beb45a922f81ef0dc9b17a76ecd4", kill_on_drop: false }`
[INFO] [stdout] d5361940e04159c9569163242c39d67ebb28beb45a922f81ef0dc9b17a76ecd4
