[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] checking zasekle/logical_cpu against try#ac4c3613be2acd5395b65d85e5657b81e3c982f0 for pr-154585
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzasekle%2Flogical_cpu" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/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-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zasekle/logical_cpu on toolchain ac4c3613be2acd5395b65d85e5657b81e3c982f0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "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" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gimli v0.28.0
[INFO] [stderr]   Downloaded object v0.32.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c01d846ff401da5ac81f4f614adbb5846612049743efa7b9a676ca28377a937
[INFO] running `Command { std: "docker" "start" "-a" "2c01d846ff401da5ac81f4f614adbb5846612049743efa7b9a676ca28377a937", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c01d846ff401da5ac81f4f614adbb5846612049743efa7b9a676ca28377a937", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c01d846ff401da5ac81f4f614adbb5846612049743efa7b9a676ca28377a937", kill_on_drop: false }`
[INFO] [stdout] 2c01d846ff401da5ac81f4f614adbb5846612049743efa7b9a676ca28377a937
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a06e551bf0dd6dad972b5d86c51fb55d73b0411e27807ebc13d64c4fb2b565fd
[INFO] running `Command { std: "docker" "start" "-a" "a06e551bf0dd6dad972b5d86c51fb55d73b0411e27807ebc13d64c4fb2b565fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]     Checking gimli v0.28.0
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking object v0.32.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking 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 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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] [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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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 5.71s
[INFO] running `Command { std: "docker" "inspect" "a06e551bf0dd6dad972b5d86c51fb55d73b0411e27807ebc13d64c4fb2b565fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a06e551bf0dd6dad972b5d86c51fb55d73b0411e27807ebc13d64c4fb2b565fd", kill_on_drop: false }`
[INFO] [stdout] a06e551bf0dd6dad972b5d86c51fb55d73b0411e27807ebc13d64c4fb2b565fd
