[INFO] fetching crate rumtk-core 0.9.4...
[INFO] testing rumtk-core-0.9.4 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate rumtk-core 0.9.4 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate rumtk-core 0.9.4
[INFO] finished tweaking crates.io crate rumtk-core 0.9.4
[INFO] tweaked toml for crates.io crate rumtk-core 0.9.4 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rumtk-core 0.9.4 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rumtk-core 0.9.4 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uuid-macro-internal v1.12.1
[INFO] [stderr]   Downloaded pyo3-macros v0.27.1
[INFO] [stderr]   Downloaded pyo3-build-config v0.27.1
[INFO] [stderr]   Downloaded uuid v1.12.0
[INFO] [stderr]   Downloaded miniz_oxide v0.8.2
[INFO] [stderr]   Downloaded bitflags v2.7.0
[INFO] [stderr]   Downloaded chardetng v0.1.17
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.27.1
[INFO] [stderr]   Downloaded pyo3-ffi v0.27.1
[INFO] [stderr]   Downloaded pyo3 v0.27.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f9ec7f2f405dd73ca9a5342f8794dc5686a2d60b91af408abf29169c1f6d3246
[INFO] running `Command { std: "docker" "start" "-a" "f9ec7f2f405dd73ca9a5342f8794dc5686a2d60b91af408abf29169c1f6d3246", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9ec7f2f405dd73ca9a5342f8794dc5686a2d60b91af408abf29169c1f6d3246", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9ec7f2f405dd73ca9a5342f8794dc5686a2d60b91af408abf29169c1f6d3246", kill_on_drop: false }`
[INFO] [stdout] f9ec7f2f405dd73ca9a5342f8794dc5686a2d60b91af408abf29169c1f6d3246
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2fb717612f3bf74395cb97c6659ab242d6740fd38e0dc42b40dc6f57af40490f
[INFO] running `Command { std: "docker" "start" "-a" "2fb717612f3bf74395cb97c6659ab242d6740fd38e0dc42b40dc6f57af40490f", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling target-lexicon v0.13.2
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling clap_lex v0.7.4
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling clap_builder v4.5.38
[INFO] [stderr]    Compiling castaway v0.2.3
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling pyo3-build-config v0.27.1
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling chardetng v0.1.17
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling pyo3-macros-backend v0.27.1
[INFO] [stderr]    Compiling pyo3-ffi v0.27.1
[INFO] [stderr]    Compiling pyo3 v0.27.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling uuid-macro-internal v1.12.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tokio v1.45.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling clap v4.5.38
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling uuid v1.12.0
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling pyo3-macros v0.27.1
[INFO] [stderr]    Compiling rumtk-core v0.9.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `SOCKET_READINESS_TYPE` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 |     pub enum SOCKET_READINESS_TYPE {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SocketReadinessType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `READ_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         READ_READY,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WRITE_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |         WRITE_READY,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WriteReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `READWRITE_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |         READWRITE_READY,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadwriteReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:773:24
[INFO] [stdout]     |
[INFO] [stdout] 773 |             let args = rumtk_create_task_args!(con);
[INFO] [stdout]     |                        ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:788:24
[INFO] [stdout]     |
[INFO] [stdout] 788 |             let args = rumtk_create_task_args!((client_ref, msg));
[INFO] [stdout]     |                        ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:797:24
[INFO] [stdout]     |
[INFO] [stdout] 797 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stdout]     |                        ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:804:24
[INFO] [stdout]     |
[INFO] [stdout] 804 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stdout]     |                        ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:897:24
[INFO] [stdout]     |
[INFO] [stdout] 897 |             let args = rumtk_create_task_args!(con);
[INFO] [stdout]     |                        ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:913:24
[INFO] [stdout]     |
[INFO] [stdout] 913 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stdout]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:927:24
[INFO] [stdout]     |
[INFO] [stdout] 927 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stdout]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |               use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                          ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:935:24
[INFO] [stdout]     |
[INFO] [stdout] 935 |               let args = rumtk_create_task_args!((
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 936 | |                 Arc::clone(&mut self.server),
[INFO] [stdout] 937 | |                 client_id.clone(),
[INFO] [stdout] 938 | |                 msg.clone()
[INFO] [stdout] 939 | |             ));
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:949:24
[INFO] [stdout]     |
[INFO] [stdout] 949 |             let args = rumtk_create_task_args!((Arc::clone(&mut self.server), client_id.clone()));
[INFO] [stdout]     |                        -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:958:24
[INFO] [stdout]     |
[INFO] [stdout] 958 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:967:24
[INFO] [stdout]     |
[INFO] [stdout] 967 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:976:24
[INFO] [stdout]     |
[INFO] [stdout] 976 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:985:24
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let args = rumtk_create_task_args!(Arc::clone(&self.server));
[INFO] [stdout]     |                        ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_or_set_from_cache`
[INFO] [stdout]   --> src/search.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     use crate::cache::{get_or_set_from_cache, new_cache, AHashMap, LazyRUMCache};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]   --> src/strings.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::fmt::Display;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::IntoFuture`
[INFO] [stdout]   --> src/threading.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     use std::future::IntoFuture;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::threading::thread_primitives`
[INFO] [stdout]    --> src/threading.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     use crate::threading::thread_primitives;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::threading::thread_primitives::SafeTaskArgs`
[INFO] [stdout]    --> src/threading.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     use crate::threading::thread_primitives::SafeTaskArgs;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |             let mut queue = match queues.get_mut(client) {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:580:17
[INFO] [stdout]     |
[INFO] [stdout] 580 |             let mut queue = match queues.get_mut(client) {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:449:21
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 let mut reowned_self = ctx.read().await;
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:700:17
[INFO] [stdout]     |
[INFO] [stdout] 700 |             let mut queue = self.tx_out.lock().await;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:714:17
[INFO] [stdout]     |
[INFO] [stdout] 714 |             let mut queue = match queues.get_mut(client_id) {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:813:17
[INFO] [stdout]     |
[INFO] [stdout] 813 |             let mut client_ref = Arc::clone(client_lock_ref);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:824:17
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let mut client_ref = locked_args.get(0).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 |             let mut client = client_ref.read().await;
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/net.rs:1069:17
[INFO] [stdout]      |
[INFO] [stdout] 1069 |             let mut server = server_ref.read().await;
[INFO] [stdout]      |                 ----^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/net.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cache.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut cache_ref = Arc::get_mut(cache).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/cli.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Err(e) => Err(format_compact!("Error writing to stdout!")),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/net.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 Err(e) => None,
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/net.rs:686:18
[INFO] [stdout]     |
[INFO] [stdout] 686 |             for (client_id, client) in owned_clients.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:787:17
[INFO] [stdout]     |
[INFO] [stdout] 787 |             let mut client_ref = Arc::clone(&self.client);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/queue.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             for i in 0..self.tasks.len() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/scripting.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Err(e) => Err(format_compact!(
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/scripting.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/search.rs:92:64
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn string_search_all_captures(input: &str, expr: &str, default: &str) -> CapturedList {
[INFO] [stdout]    |                                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/strings.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for i in 0..count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SafeClientIDList` is never used
[INFO] [stdout]    --> src/net.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 256 |     type SafeClientIDList = Arc<AsyncMutex<ClientIDList>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASCII_ESCAPE_CHAR` is never used
[INFO] [stdout]   --> src/strings.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const ASCII_ESCAPE_CHAR: char = '\\';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unescape_control` is never used
[INFO] [stdout]    --> src/strings.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn unescape_control(escaped_str: &str) -> Result<char, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `octal_to_byte` is never used
[INFO] [stdout]    --> src/strings.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn octal_to_byte(hoctal_str: &str) -> Result<u8, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_to_char` is never used
[INFO] [stdout]    --> src/strings.rs:532:4
[INFO] [stdout]     |
[INFO] [stdout] 532 | fn number_to_char(num: &u32) -> Result<RUMString, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `base_ten` should have an upper case name
[INFO] [stdout]   --> src/maths.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const base_ten: u8= 10;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 24 - const base_ten: u8= 10;
[INFO] [stdout] 24 + const BASE_TEN: u8= 10;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net.rs:261:37
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<RUMClient> {
[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] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<'_, RUMClient> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net.rs:266:34
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<RUMClient> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<'_, RUMClient> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:771:27
[INFO] [stdout]     |
[INFO] [stdout] 771 |             let runtime = rumtk_init_threads!(&1);
[INFO] [stdout]     |                           ----------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:895:27
[INFO] [stdout]     |
[INFO] [stdout] 895 |             let runtime = rumtk_init_threads!(&threads);
[INFO] [stdout]     |                           ----------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/net.rs:916:17
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 rumtk_resolve_task!(&self.runtime, task);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 let _ = rumtk_resolve_task!(&self.runtime, task);;
[INFO] [stdout]     |                 +++++++                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/queue.rs:60:27
[INFO] [stdout]     |
[INFO] [stdout]  60 |             let runtime = rumtk_init_threads!(&worker_num);
[INFO] [stdout]     |                           -------------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `re_cache` should have an upper case name
[INFO] [stdout]   --> src/search.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     static mut re_cache: RegexCache = new_cache();
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 27 -     static mut re_cache: RegexCache = new_cache();
[INFO] [stdout] 27 +     static mut RE_CACHE: RegexCache = new_cache();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/search.rs:50:37
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/search.rs:93:37
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/search.rs:128:37
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `rt_cache` should have an upper case name
[INFO] [stdout]   --> src/threading.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub static mut rt_cache: TokioRtCache = new_cache();
[INFO] [stdout]    |                    ^^^^^^^^ help: convert the identifier to upper case: `RT_CACHE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "2fb717612f3bf74395cb97c6659ab242d6740fd38e0dc42b40dc6f57af40490f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fb717612f3bf74395cb97c6659ab242d6740fd38e0dc42b40dc6f57af40490f", kill_on_drop: false }`
[INFO] [stdout] 2fb717612f3bf74395cb97c6659ab242d6740fd38e0dc42b40dc6f57af40490f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9281d16492983ef418645b46892e75a73ad67e8f1efba93079fb59e249838e0b
[INFO] running `Command { std: "docker" "start" "-a" "9281d16492983ef418645b46892e75a73ad67e8f1efba93079fb59e249838e0b", kill_on_drop: false }`
[INFO] [stdout] warning: type `SOCKET_READINESS_TYPE` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 |     pub enum SOCKET_READINESS_TYPE {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SocketReadinessType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `READ_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         READ_READY,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WRITE_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |         WRITE_READY,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WriteReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `READWRITE_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |         READWRITE_READY,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadwriteReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:773:24
[INFO] [stdout]     |
[INFO] [stdout] 773 |             let args = rumtk_create_task_args!(con);
[INFO] [stdout]     |                        ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:788:24
[INFO] [stdout]     |
[INFO] [stdout] 788 |             let args = rumtk_create_task_args!((client_ref, msg));
[INFO] [stdout]     |                        ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:797:24
[INFO] [stdout]     |
[INFO] [stdout] 797 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stdout]     |                        ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:804:24
[INFO] [stdout]     |
[INFO] [stdout] 804 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stdout]     |                        ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:897:24
[INFO] [stdout]     |
[INFO] [stdout] 897 |             let args = rumtk_create_task_args!(con);
[INFO] [stdout]     |                        ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:913:24
[INFO] [stdout]     |
[INFO] [stdout] 913 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stdout]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:927:24
[INFO] [stdout]     |
[INFO] [stdout] 927 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stdout]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |               use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                          ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:935:24
[INFO] [stdout]     |
[INFO] [stdout] 935 |               let args = rumtk_create_task_args!((
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 936 | |                 Arc::clone(&mut self.server),
[INFO] [stdout] 937 | |                 client_id.clone(),
[INFO] [stdout] 938 | |                 msg.clone()
[INFO] [stdout] 939 | |             ));
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:949:24
[INFO] [stdout]     |
[INFO] [stdout] 949 |             let args = rumtk_create_task_args!((Arc::clone(&mut self.server), client_id.clone()));
[INFO] [stdout]     |                        -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:958:24
[INFO] [stdout]     |
[INFO] [stdout] 958 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:967:24
[INFO] [stdout]     |
[INFO] [stdout] 967 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:976:24
[INFO] [stdout]     |
[INFO] [stdout] 976 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:985:24
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let args = rumtk_create_task_args!(Arc::clone(&self.server));
[INFO] [stdout]     |                        ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_or_set_from_cache`
[INFO] [stdout]   --> src/search.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     use crate::cache::{get_or_set_from_cache, new_cache, AHashMap, LazyRUMCache};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]   --> src/strings.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::fmt::Display;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::IntoFuture`
[INFO] [stdout]   --> src/threading.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     use std::future::IntoFuture;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::threading::thread_primitives`
[INFO] [stdout]    --> src/threading.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     use crate::threading::thread_primitives;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::threading::thread_primitives::SafeTaskArgs`
[INFO] [stdout]    --> src/threading.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     use crate::threading::thread_primitives::SafeTaskArgs;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |             let mut queue = match queues.get_mut(client) {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:580:17
[INFO] [stdout]     |
[INFO] [stdout] 580 |             let mut queue = match queues.get_mut(client) {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:449:21
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 let mut reowned_self = ctx.read().await;
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:700:17
[INFO] [stdout]     |
[INFO] [stdout] 700 |             let mut queue = self.tx_out.lock().await;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:714:17
[INFO] [stdout]     |
[INFO] [stdout] 714 |             let mut queue = match queues.get_mut(client_id) {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:813:17
[INFO] [stdout]     |
[INFO] [stdout] 813 |             let mut client_ref = Arc::clone(client_lock_ref);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:824:17
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let mut client_ref = locked_args.get(0).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 |             let mut client = client_ref.read().await;
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/net.rs:1069:17
[INFO] [stdout]      |
[INFO] [stdout] 1069 |             let mut server = server_ref.read().await;
[INFO] [stdout]      |                 ----^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/net.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cache.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut cache_ref = Arc::get_mut(cache).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/cli.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Err(e) => Err(format_compact!("Error writing to stdout!")),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/net.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 Err(e) => None,
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/net.rs:686:18
[INFO] [stdout]     |
[INFO] [stdout] 686 |             for (client_id, client) in owned_clients.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:787:17
[INFO] [stdout]     |
[INFO] [stdout] 787 |             let mut client_ref = Arc::clone(&self.client);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/queue.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             for i in 0..self.tasks.len() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/scripting.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Err(e) => Err(format_compact!(
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/scripting.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/search.rs:92:64
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn string_search_all_captures(input: &str, expr: &str, default: &str) -> CapturedList {
[INFO] [stdout]    |                                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/strings.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for i in 0..count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SafeClientIDList` is never used
[INFO] [stdout]    --> src/net.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 256 |     type SafeClientIDList = Arc<AsyncMutex<ClientIDList>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASCII_ESCAPE_CHAR` is never used
[INFO] [stdout]   --> src/strings.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const ASCII_ESCAPE_CHAR: char = '\\';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unescape_control` is never used
[INFO] [stdout]    --> src/strings.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn unescape_control(escaped_str: &str) -> Result<char, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `octal_to_byte` is never used
[INFO] [stdout]    --> src/strings.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn octal_to_byte(hoctal_str: &str) -> Result<u8, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_to_char` is never used
[INFO] [stdout]    --> src/strings.rs:532:4
[INFO] [stdout]     |
[INFO] [stdout] 532 | fn number_to_char(num: &u32) -> Result<RUMString, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `base_ten` should have an upper case name
[INFO] [stdout]   --> src/maths.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const base_ten: u8= 10;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 24 - const base_ten: u8= 10;
[INFO] [stdout] 24 + const BASE_TEN: u8= 10;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net.rs:261:37
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<RUMClient> {
[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] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<'_, RUMClient> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net.rs:266:34
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<RUMClient> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<'_, RUMClient> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:771:27
[INFO] [stdout]     |
[INFO] [stdout] 771 |             let runtime = rumtk_init_threads!(&1);
[INFO] [stdout]     |                           ----------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:895:27
[INFO] [stdout]     |
[INFO] [stdout] 895 |             let runtime = rumtk_init_threads!(&threads);
[INFO] [stdout]     |                           ----------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/net.rs:916:17
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 rumtk_resolve_task!(&self.runtime, task);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 let _ = rumtk_resolve_task!(&self.runtime, task);;
[INFO] [stdout]     |                 +++++++                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/queue.rs:60:27
[INFO] [stdout]     |
[INFO] [stdout]  60 |             let runtime = rumtk_init_threads!(&worker_num);
[INFO] [stdout]     |                           -------------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `re_cache` should have an upper case name
[INFO] [stdout]   --> src/search.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     static mut re_cache: RegexCache = new_cache();
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 27 -     static mut re_cache: RegexCache = new_cache();
[INFO] [stdout] 27 +     static mut RE_CACHE: RegexCache = new_cache();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/search.rs:50:37
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/search.rs:93:37
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/search.rs:128:37
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `rt_cache` should have an upper case name
[INFO] [stdout]   --> src/threading.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub static mut rt_cache: TokioRtCache = new_cache();
[INFO] [stdout]    |                    ^^^^^^^^ help: convert the identifier to upper case: `RT_CACHE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rumtk-core v0.9.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `SOCKET_READINESS_TYPE` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 |     pub enum SOCKET_READINESS_TYPE {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SocketReadinessType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `READ_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         READ_READY,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WRITE_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |         WRITE_READY,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WriteReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `READWRITE_READY` should have an upper camel case name
[INFO] [stdout]    --> src/net.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |         READWRITE_READY,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadwriteReady`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:773:24
[INFO] [stdout]     |
[INFO] [stdout] 773 |             let args = rumtk_create_task_args!(con);
[INFO] [stdout]     |                        ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:788:24
[INFO] [stdout]     |
[INFO] [stdout] 788 |             let args = rumtk_create_task_args!((client_ref, msg));
[INFO] [stdout]     |                        ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:797:24
[INFO] [stdout]     |
[INFO] [stdout] 797 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stdout]     |                        ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:804:24
[INFO] [stdout]     |
[INFO] [stdout] 804 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stdout]     |                        ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:897:24
[INFO] [stdout]     |
[INFO] [stdout] 897 |             let args = rumtk_create_task_args!(con);
[INFO] [stdout]     |                        ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:913:24
[INFO] [stdout]     |
[INFO] [stdout] 913 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stdout]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:927:24
[INFO] [stdout]     |
[INFO] [stdout] 927 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stdout]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |               use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                          ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:935:24
[INFO] [stdout]     |
[INFO] [stdout] 935 |               let args = rumtk_create_task_args!((
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 936 | |                 Arc::clone(&mut self.server),
[INFO] [stdout] 937 | |                 client_id.clone(),
[INFO] [stdout] 938 | |                 msg.clone()
[INFO] [stdout] 939 | |             ));
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:949:24
[INFO] [stdout]     |
[INFO] [stdout] 949 |             let args = rumtk_create_task_args!((Arc::clone(&mut self.server), client_id.clone()));
[INFO] [stdout]     |                        -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:958:24
[INFO] [stdout]     |
[INFO] [stdout] 958 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:967:24
[INFO] [stdout]     |
[INFO] [stdout] 967 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:976:24
[INFO] [stdout]     |
[INFO] [stdout] 976 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stdout]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:985:24
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let args = rumtk_create_task_args!(Arc::clone(&self.server));
[INFO] [stdout]     |                        ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_or_set_from_cache`
[INFO] [stdout]   --> src/search.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     use crate::cache::{get_or_set_from_cache, new_cache, AHashMap, LazyRUMCache};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]   --> src/strings.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::fmt::Display;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::IntoFuture`
[INFO] [stdout]   --> src/threading.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     use std::future::IntoFuture;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::threading::thread_primitives`
[INFO] [stdout]    --> src/threading.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     use crate::threading::thread_primitives;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::threading::thread_primitives::SafeTaskArgs`
[INFO] [stdout]    --> src/threading.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     use crate::threading::thread_primitives::SafeTaskArgs;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]   --> src/lib.rs:47:30
[INFO] [stdout]    |
[INFO] [stdout] 47 |     use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]    |                              ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::to_string`
[INFO] [stdout]   --> src/lib.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     use serde_json::to_string;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::IntoFuture`
[INFO] [stdout]   --> src/lib.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     use std::future::IntoFuture;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stdout]    --> src/threading.rs:307:56
[INFO] [stdout]     |
[INFO] [stdout] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stdout]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:336:25
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let task_args = rumtk_create_task_args!(1, 2, 3);
[INFO] [stdout]     |                         -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rumtk_create_task_args`
[INFO] [stdout]    --> src/threading.rs:435:36
[INFO] [stdout]     |
[INFO] [stdout] 435 |                   rumtk_create_task, rumtk_create_task_args, rumtk_init_threads, rumtk_resolve_task,
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:346:22
[INFO] [stdout]     |
[INFO] [stdout] 346 |           let result = rumtk_exec_task!(
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 347 | |             async |args: &SafeTaskArgs<i32>| -> TaskResult<i32> {
[INFO] [stdout] 348 | |                 let owned_args = Arc::clone(args);
[INFO] [stdout] 349 | |                 let lock_future = owned_args.read();
[INFO] [stdout] ...   |
[INFO] [stdout] 359 | |             vec![1, 2, 3]
[INFO] [stdout] 360 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_exec_task` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::threading::threading_functions::sleep`
[INFO] [stdout]    --> src/lib.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |     use crate::threading::threading_functions::sleep;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]    --> src/lib.rs:663:34
[INFO] [stdout]     |
[INFO] [stdout] 663 |         use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]     |                                  ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |             let mut queue = match queues.get_mut(client) {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:580:17
[INFO] [stdout]     |
[INFO] [stdout] 580 |             let mut queue = match queues.get_mut(client) {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:449:21
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 let mut reowned_self = ctx.read().await;
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:700:17
[INFO] [stdout]     |
[INFO] [stdout] 700 |             let mut queue = self.tx_out.lock().await;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:714:17
[INFO] [stdout]     |
[INFO] [stdout] 714 |             let mut queue = match queues.get_mut(client_id) {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:813:17
[INFO] [stdout]     |
[INFO] [stdout] 813 |             let mut client_ref = Arc::clone(client_lock_ref);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:824:17
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let mut client_ref = locked_args.get(0).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 |             let mut client = client_ref.read().await;
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/net.rs:1069:17
[INFO] [stdout]      |
[INFO] [stdout] 1069 |             let mut server = server_ref.read().await;
[INFO] [stdout]      |                 ----^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/net.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cache.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut cache_ref = Arc::get_mut(cache).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/cli.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Err(e) => Err(format_compact!("Error writing to stdout!")),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/net.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 Err(e) => None,
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/net.rs:686:18
[INFO] [stdout]     |
[INFO] [stdout] 686 |             for (client_id, client) in owned_clients.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net.rs:787:17
[INFO] [stdout]     |
[INFO] [stdout] 787 |             let mut client_ref = Arc::clone(&self.client);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/queue.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             for i in 0..self.tasks.len() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/scripting.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Err(e) => Err(format_compact!(
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/scripting.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/search.rs:92:64
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn string_search_all_captures(input: &str, expr: &str, default: &str) -> CapturedList {
[INFO] [stdout]    |                                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/strings.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for i in 0..count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rt`
[INFO] [stdout]    --> src/lib.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let rt = rumtk_init_threads!();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]    --> src/lib.rs:474:14
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]    --> src/lib.rs:512:14
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let mut client = match rumtk_connect!(port) {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]    --> src/lib.rs:541:14
[INFO] [stdout]     |
[INFO] [stdout] 541 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> src/lib.rs:562:13
[INFO] [stdout]     |
[INFO] [stdout] 562 |         let msg = RUMString::from("Hello World!");
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> src/lib.rs:581:13
[INFO] [stdout]     |
[INFO] [stdout] 581 |         let msg = RUMString::from("Hello World!");
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]    --> src/lib.rs:610:14
[INFO] [stdout]     |
[INFO] [stdout] 610 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SafeClientIDList` is never used
[INFO] [stdout]    --> src/net.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 256 |     type SafeClientIDList = Arc<AsyncMutex<ClientIDList>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASCII_ESCAPE_CHAR` is never used
[INFO] [stdout]   --> src/strings.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const ASCII_ESCAPE_CHAR: char = '\\';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unescape_control` is never used
[INFO] [stdout]    --> src/strings.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn unescape_control(escaped_str: &str) -> Result<char, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `octal_to_byte` is never used
[INFO] [stdout]    --> src/strings.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn octal_to_byte(hoctal_str: &str) -> Result<u8, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_to_char` is never used
[INFO] [stdout]    --> src/strings.rs:532:4
[INFO] [stdout]     |
[INFO] [stdout] 532 | fn number_to_char(num: &u32) -> Result<RUMString, RUMString> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `base_ten` should have an upper case name
[INFO] [stdout]   --> src/maths.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const base_ten: u8= 10;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 24 - const base_ten: u8= 10;
[INFO] [stdout] 24 + const BASE_TEN: u8= 10;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net.rs:261:37
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<RUMClient> {
[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] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<'_, RUMClient> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net.rs:266:34
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<RUMClient> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<'_, RUMClient> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:771:27
[INFO] [stdout]     |
[INFO] [stdout] 771 |             let runtime = rumtk_init_threads!(&1);
[INFO] [stdout]     |                           ----------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net.rs:895:27
[INFO] [stdout]     |
[INFO] [stdout] 895 |             let runtime = rumtk_init_threads!(&threads);
[INFO] [stdout]     |                           ----------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/net.rs:916:17
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 rumtk_resolve_task!(&self.runtime, task);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 let _ = rumtk_resolve_task!(&self.runtime, task);;
[INFO] [stdout]     |                 +++++++                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:186:46
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stdout]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/queue.rs:60:27
[INFO] [stdout]     |
[INFO] [stdout]  60 |             let runtime = rumtk_init_threads!(&worker_num);
[INFO] [stdout]     |                           -------------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `re_cache` should have an upper case name
[INFO] [stdout]   --> src/search.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     static mut re_cache: RegexCache = new_cache();
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 27 -     static mut re_cache: RegexCache = new_cache();
[INFO] [stdout] 27 +     static mut RE_CACHE: RegexCache = new_cache();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/search.rs:50:37
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/search.rs:93:37
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/search.rs:128:37
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `rt_cache` should have an upper case name
[INFO] [stdout]   --> src/threading.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub static mut rt_cache: TokioRtCache = new_cache();
[INFO] [stdout]    |                    ^^^^^^^^ help: convert the identifier to upper case: `RT_CACHE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 &mut rt_cache,
[INFO] [stdout]     |                      ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:299:18
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let rt = rumtk_init_threads!();
[INFO] [stdout]     |                  --------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 &mut rt_cache,
[INFO] [stdout]     |                      ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:322:18
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let rt = rumtk_init_threads!();
[INFO] [stdout]     |                  --------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 &mut rt_cache,
[INFO] [stdout]     |                      ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:344:18
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let rt = rumtk_init_threads!();
[INFO] [stdout]     |                  --------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/threading.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |                   &mut rt_cache,
[INFO] [stdout]     |                        ^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:346:22
[INFO] [stdout]     |
[INFO] [stdout] 346 |           let result = rumtk_exec_task!(
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 347 | |             async |args: &SafeTaskArgs<i32>| -> TaskResult<i32> {
[INFO] [stdout] 348 | |                 let owned_args = Arc::clone(args);
[INFO] [stdout] 349 | |                 let lock_future = owned_args.read();
[INFO] [stdout] ...   |
[INFO] [stdout] 359 | |             vec![1, 2, 3]
[INFO] [stdout] 360 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: this warning originates in the macro `rumtk_init_threads` which comes from the expansion of the macro `rumtk_exec_task` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.24s
[INFO] running `Command { std: "docker" "inspect" "9281d16492983ef418645b46892e75a73ad67e8f1efba93079fb59e249838e0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9281d16492983ef418645b46892e75a73ad67e8f1efba93079fb59e249838e0b", kill_on_drop: false }`
[INFO] [stdout] 9281d16492983ef418645b46892e75a73ad67e8f1efba93079fb59e249838e0b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7d293fefa157a0d4218139d3b18de276fdc39be6cb0ff9ec2d5123c112c6e629
[INFO] running `Command { std: "docker" "start" "-a" "7d293fefa157a0d4218139d3b18de276fdc39be6cb0ff9ec2d5123c112c6e629", kill_on_drop: false }`
[INFO] [stderr] warning: type `SOCKET_READINESS_TYPE` should have an upper camel case name
[INFO] [stderr]    --> src/net.rs:275:14
[INFO] [stderr]     |
[INFO] [stderr] 275 |     pub enum SOCKET_READINESS_TYPE {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SocketReadinessType`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `READ_READY` should have an upper camel case name
[INFO] [stderr]    --> src/net.rs:277:9
[INFO] [stderr]     |
[INFO] [stderr] 277 |         READ_READY,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadReady`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `WRITE_READY` should have an upper camel case name
[INFO] [stderr]    --> src/net.rs:278:9
[INFO] [stderr]     |
[INFO] [stderr] 278 |         WRITE_READY,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WriteReady`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `READWRITE_READY` should have an upper camel case name
[INFO] [stderr]    --> src/net.rs:279:9
[INFO] [stderr]     |
[INFO] [stderr] 279 |         READWRITE_READY,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadwriteReady`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:773:24
[INFO] [stderr]     |
[INFO] [stderr] 773 |             let args = rumtk_create_task_args!(con);
[INFO] [stderr]     |                        ---------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:788:24
[INFO] [stderr]     |
[INFO] [stderr] 788 |             let args = rumtk_create_task_args!((client_ref, msg));
[INFO] [stderr]     |                        ------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:797:24
[INFO] [stderr]     |
[INFO] [stderr] 797 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stderr]     |                        ----------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:804:24
[INFO] [stderr]     |
[INFO] [stderr] 804 |             let args = rumtk_create_task_args!(client_ref);
[INFO] [stderr]     |                        ----------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:897:24
[INFO] [stderr]     |
[INFO] [stderr] 897 |             let args = rumtk_create_task_args!(con);
[INFO] [stderr]     |                        ---------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:913:24
[INFO] [stderr]     |
[INFO] [stderr] 913 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stderr]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:927:24
[INFO] [stderr]     |
[INFO] [stderr] 927 |             let args = rumtk_create_task_args!(Arc::clone(&mut self.server));
[INFO] [stderr]     |                        ----------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |               use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                          ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:935:24
[INFO] [stderr]     |
[INFO] [stderr] 935 |               let args = rumtk_create_task_args!((
[INFO] [stderr]     |  ________________________-
[INFO] [stderr] 936 | |                 Arc::clone(&mut self.server),
[INFO] [stderr] 937 | |                 client_id.clone(),
[INFO] [stderr] 938 | |                 msg.clone()
[INFO] [stderr] 939 | |             ));
[INFO] [stderr]     | |______________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:949:24
[INFO] [stderr]     |
[INFO] [stderr] 949 |             let args = rumtk_create_task_args!((Arc::clone(&mut self.server), client_id.clone()));
[INFO] [stderr]     |                        -------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:958:24
[INFO] [stderr]     |
[INFO] [stderr] 958 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stderr]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:967:24
[INFO] [stderr]     |
[INFO] [stderr] 967 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stderr]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:976:24
[INFO] [stderr]     |
[INFO] [stderr] 976 |             let args = rumtk_create_task_args!((Arc::clone(&self.server)));
[INFO] [stderr]     |                        --------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:985:24
[INFO] [stderr]     |
[INFO] [stderr] 985 |             let args = rumtk_create_task_args!(Arc::clone(&self.server));
[INFO] [stderr]     |                        ------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `get_or_set_from_cache`
[INFO] [stderr]   --> src/search.rs:22:24
[INFO] [stderr]    |
[INFO] [stderr] 22 |     use crate::cache::{get_or_set_from_cache, new_cache, AHashMap, LazyRUMCache};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Display`
[INFO] [stderr]   --> src/strings.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | use std::fmt::Display;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::IntoFuture`
[INFO] [stderr]   --> src/threading.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |     use std::future::IntoFuture;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::threading::thread_primitives`
[INFO] [stderr]    --> src/threading.rs:116:9
[INFO] [stderr]     |
[INFO] [stderr] 116 |     use crate::threading::thread_primitives;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::threading::thread_primitives::SafeTaskArgs`
[INFO] [stderr]    --> src/threading.rs:117:9
[INFO] [stderr]     |
[INFO] [stderr] 117 |     use crate::threading::thread_primitives::SafeTaskArgs;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:598:17
[INFO] [stderr]     |
[INFO] [stderr] 598 |             let mut queue = match queues.get_mut(client) {
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:580:17
[INFO] [stderr]     |
[INFO] [stderr] 580 |             let mut queue = match queues.get_mut(client) {
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:449:21
[INFO] [stderr]     |
[INFO] [stderr] 449 |                 let mut reowned_self = ctx.read().await;
[INFO] [stderr]     |                     ----^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:700:17
[INFO] [stderr]     |
[INFO] [stderr] 700 |             let mut queue = self.tx_out.lock().await;
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:714:17
[INFO] [stderr]     |
[INFO] [stderr] 714 |             let mut queue = match queues.get_mut(client_id) {
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:813:17
[INFO] [stderr]     |
[INFO] [stderr] 813 |             let mut client_ref = Arc::clone(client_lock_ref);
[INFO] [stderr]     |                 ----^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:824:17
[INFO] [stderr]     |
[INFO] [stderr] 824 |             let mut client_ref = locked_args.get(0).unwrap();
[INFO] [stderr]     |                 ----^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:846:17
[INFO] [stderr]     |
[INFO] [stderr] 846 |             let mut client = client_ref.read().await;
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/net.rs:1069:17
[INFO] [stderr]      |
[INFO] [stderr] 1069 |             let mut server = server_ref.read().await;
[INFO] [stderr]      |                 ----^^^^^^
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]   --> src/net.rs:41:21
[INFO] [stderr]    |
[INFO] [stderr] 41 |     use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/cache.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let mut cache_ref = Arc::get_mut(cache).unwrap();
[INFO] [stderr]    |             ----^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/cli.rs:129:17
[INFO] [stderr]     |
[INFO] [stderr] 129 |             Err(e) => Err(format_compact!("Error writing to stdout!")),
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/net.rs:327:21
[INFO] [stderr]     |
[INFO] [stderr] 327 |                 Err(e) => None,
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client_id`
[INFO] [stderr]    --> src/net.rs:686:18
[INFO] [stderr]     |
[INFO] [stderr] 686 |             for (client_id, client) in owned_clients.iter() {
[INFO] [stderr]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/net.rs:787:17
[INFO] [stderr]     |
[INFO] [stderr] 787 |             let mut client_ref = Arc::clone(&self.client);
[INFO] [stderr]     |                 ----^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/queue.rs:131:17
[INFO] [stderr]     |
[INFO] [stderr] 131 |             for i in 0..self.tasks.len() {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/scripting.rs:47:17
[INFO] [stderr]    |
[INFO] [stderr] 47 |             Err(e) => Err(format_compact!(
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/scripting.rs:309:17
[INFO] [stderr]     |
[INFO] [stderr] 309 |             Err(e) => {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `default`
[INFO] [stderr]   --> src/search.rs:92:64
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub fn string_search_all_captures(input: &str, expr: &str, default: &str) -> CapturedList {
[INFO] [stderr]    |                                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/strings.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 |         for i in 0..count {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `SafeClientIDList` is never used
[INFO] [stderr]    --> src/net.rs:256:10
[INFO] [stderr]     |
[INFO] [stderr] 256 |     type SafeClientIDList = Arc<AsyncMutex<ClientIDList>>;
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ASCII_ESCAPE_CHAR` is never used
[INFO] [stderr]   --> src/strings.rs:28:7
[INFO] [stderr]    |
[INFO] [stderr] 28 | const ASCII_ESCAPE_CHAR: char = '\\';
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `unescape_control` is never used
[INFO] [stderr]    --> src/strings.rs:421:4
[INFO] [stderr]     |
[INFO] [stderr] 421 | fn unescape_control(escaped_str: &str) -> Result<char, RUMString> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `octal_to_byte` is never used
[INFO] [stderr]    --> src/strings.rs:517:4
[INFO] [stderr]     |
[INFO] [stderr] 517 | fn octal_to_byte(hoctal_str: &str) -> Result<u8, RUMString> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `number_to_char` is never used
[INFO] [stderr]    --> src/strings.rs:532:4
[INFO] [stderr]     |
[INFO] [stderr] 532 | fn number_to_char(num: &u32) -> Result<RUMString, RUMString> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `base_ten` should have an upper case name
[INFO] [stderr]   --> src/maths.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 | const base_ten: u8= 10;
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 24 - const base_ten: u8= 10;
[INFO] [stderr] 24 + const BASE_TEN: u8= 10;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/net.rs:261:37
[INFO] [stderr]     |
[INFO] [stderr] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<RUMClient> {
[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] 261 |     async fn lock_client_ex(client: &SafeClient) -> RwLockWriteGuard<'_, RUMClient> {
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/net.rs:266:34
[INFO] [stderr]     |
[INFO] [stderr] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<RUMClient> {
[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] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 266 |     async fn lock_client(client: &SafeClient) -> RwLockReadGuard<'_, RUMClient> {
[INFO] [stderr]     |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/threading.rs:186:46
[INFO] [stderr]     |
[INFO] [stderr] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stderr]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:771:27
[INFO] [stderr]     |
[INFO] [stderr] 771 |             let runtime = rumtk_init_threads!(&1);
[INFO] [stderr]     |                           ----------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/threading.rs:186:46
[INFO] [stderr]     |
[INFO] [stderr] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stderr]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/net.rs:895:27
[INFO] [stderr]     |
[INFO] [stderr] 895 |             let runtime = rumtk_init_threads!(&threads);
[INFO] [stderr]     |                           ----------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/net.rs:916:17
[INFO] [stderr]     |
[INFO] [stderr] 916 |                 rumtk_resolve_task!(&self.runtime, task);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 916 |                 let _ = rumtk_resolve_task!(&self.runtime, task);;
[INFO] [stderr]     |                 +++++++                                         +
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/threading.rs:186:46
[INFO] [stderr]     |
[INFO] [stderr] 186 |             let rt = rumtk_cache_fetch!(&mut rt_cache, $threads, init_cache);
[INFO] [stderr]     |                                              ^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/queue.rs:60:27
[INFO] [stderr]     |
[INFO] [stderr]  60 |             let runtime = rumtk_init_threads!(&worker_num);
[INFO] [stderr]     |                           -------------------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `re_cache` should have an upper case name
[INFO] [stderr]   --> src/search.rs:27:16
[INFO] [stderr]    |
[INFO] [stderr] 27 |     static mut re_cache: RegexCache = new_cache();
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 27 -     static mut re_cache: RegexCache = new_cache();
[INFO] [stderr] 27 +     static mut RE_CACHE: RegexCache = new_cache();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/search.rs:50:37
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/search.rs:93:37
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/search.rs:128:37
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let re = rumtk_cache_fetch!(&mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^ mutable 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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let re = rumtk_cache_fetch!(&raw mut re_cache, &RUMString::from(expr), compile_regex);
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `rt_cache` should have an upper case name
[INFO] [stderr]   --> src/threading.rs:34:20
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub static mut rt_cache: TokioRtCache = new_cache();
[INFO] [stderr]    |                    ^^^^^^^^ help: convert the identifier to upper case: `RT_CACHE`
[INFO] [stderr] 
[INFO] [stderr] warning: `rumtk-core` (lib) generated 59 warnings (run `cargo fix --lib -p rumtk-core` to apply 41 suggestions)
[INFO] [stderr] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stderr]   --> src/lib.rs:47:30
[INFO] [stderr]    |
[INFO] [stderr] 47 |     use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stderr]    |                              ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::to_string`
[INFO] [stderr]   --> src/lib.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     use serde_json::to_string;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::IntoFuture`
[INFO] [stderr]   --> src/lib.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |     use std::future::IntoFuture;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TaskArgs` and `TaskItems`
[INFO] [stderr]    --> src/threading.rs:307:56
[INFO] [stderr]     |
[INFO] [stderr] 307 |             use $crate::threading::thread_primitives::{TaskArgs, SafeTaskArgs, TaskItems};
[INFO] [stderr]     |                                                        ^^^^^^^^                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:336:25
[INFO] [stderr]     |
[INFO] [stderr] 336 |         let task_args = rumtk_create_task_args!(1, 2, 3);
[INFO] [stderr]     |                         -------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_create_task_args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rumtk_create_task_args`
[INFO] [stderr]    --> src/threading.rs:435:36
[INFO] [stderr]     |
[INFO] [stderr] 435 |                   rumtk_create_task, rumtk_create_task_args, rumtk_init_threads, rumtk_resolve_task,
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:346:22
[INFO] [stderr]     |
[INFO] [stderr] 346 |           let result = rumtk_exec_task!(
[INFO] [stderr]     |  ______________________-
[INFO] [stderr] 347 | |             async |args: &SafeTaskArgs<i32>| -> TaskResult<i32> {
[INFO] [stderr] 348 | |                 let owned_args = Arc::clone(args);
[INFO] [stderr] 349 | |                 let lock_future = owned_args.read();
[INFO] [stderr] ...   |
[INFO] [stderr] 359 | |             vec![1, 2, 3]
[INFO] [stderr] 360 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_exec_task` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::threading::threading_functions::sleep`
[INFO] [stderr]    --> src/lib.rs:408:9
[INFO] [stderr]     |
[INFO] [stderr] 408 |     use crate::threading::threading_functions::sleep;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stderr]    --> src/lib.rs:663:34
[INFO] [stderr]     |
[INFO] [stderr] 663 |         use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stderr]     |                                  ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rt`
[INFO] [stderr]    --> src/lib.rs:344:13
[INFO] [stderr]     |
[INFO] [stderr] 344 |         let rt = rumtk_init_threads!();
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ip`
[INFO] [stderr]    --> src/lib.rs:474:14
[INFO] [stderr]     |
[INFO] [stderr] 474 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stderr]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ip`
[INFO] [stderr]    --> src/lib.rs:512:14
[INFO] [stderr]     |
[INFO] [stderr] 512 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stderr]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:544:13
[INFO] [stderr]     |
[INFO] [stderr] 544 |         let mut client = match rumtk_connect!(port) {
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ip`
[INFO] [stderr]    --> src/lib.rs:541:14
[INFO] [stderr]     |
[INFO] [stderr] 541 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stderr]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msg`
[INFO] [stderr]    --> src/lib.rs:562:13
[INFO] [stderr]     |
[INFO] [stderr] 562 |         let msg = RUMString::from("Hello World!");
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msg`
[INFO] [stderr]    --> src/lib.rs:581:13
[INFO] [stderr]     |
[INFO] [stderr] 581 |         let msg = RUMString::from("Hello World!");
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ip`
[INFO] [stderr]    --> src/lib.rs:610:14
[INFO] [stderr]     |
[INFO] [stderr] 610 |         let (ip, port) = rumtk_get_ip_port!(address_info);
[INFO] [stderr]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/threading.rs:177:22
[INFO] [stderr]     |
[INFO] [stderr] 177 |                 &mut rt_cache,
[INFO] [stderr]     |                      ^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:299:18
[INFO] [stderr]     |
[INFO] [stderr] 299 |         let rt = rumtk_init_threads!();
[INFO] [stderr]     |                  --------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/threading.rs:177:22
[INFO] [stderr]     |
[INFO] [stderr] 177 |                 &mut rt_cache,
[INFO] [stderr]     |                      ^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:322:18
[INFO] [stderr]     |
[INFO] [stderr] 322 |         let rt = rumtk_init_threads!();
[INFO] [stderr]     |                  --------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/threading.rs:177:22
[INFO] [stderr]     |
[INFO] [stderr] 177 |                 &mut rt_cache,
[INFO] [stderr]     |                      ^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:344:18
[INFO] [stderr]     |
[INFO] [stderr] 344 |         let rt = rumtk_init_threads!();
[INFO] [stderr]     |                  --------------------- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_init_threads` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/threading.rs:177:22
[INFO] [stderr]     |
[INFO] [stderr] 177 |                   &mut rt_cache,
[INFO] [stderr]     |                        ^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:346:22
[INFO] [stderr]     |
[INFO] [stderr] 346 |           let result = rumtk_exec_task!(
[INFO] [stderr]     |  ______________________-
[INFO] [stderr] 347 | |             async |args: &SafeTaskArgs<i32>| -> TaskResult<i32> {
[INFO] [stderr] 348 | |                 let owned_args = Arc::clone(args);
[INFO] [stderr] 349 | |                 let lock_future = owned_args.read();
[INFO] [stderr] ...   |
[INFO] [stderr] 359 | |             vec![1, 2, 3]
[INFO] [stderr] 360 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[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: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: this warning originates in the macro `rumtk_init_threads` which comes from the expansion of the macro `rumtk_exec_task` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `rumtk-core` (lib test) generated 78 warnings (59 duplicates) (run `cargo fix --lib -p rumtk-core --tests` to apply 15 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rumtk_core-0ce40f0748501360)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test tests::test_autodecode_utf8 ... ok
[INFO] [stdout] test tests::test_clamp_index_positive_index ... ok
[INFO] [stdout] test tests::test_clamp_index_reverse_index ... ok
[INFO] [stdout] test tests::test_autodecode_other ... ok
[INFO] [stdout] test tests::test_decode ... ok
[INFO] [stdout] test tests::test_default_num_threads ... ok
[INFO] [stdout] test tests::test_deserialize_json ... ok
[INFO] [stdout] test tests::test_escaping_string ... ok
[INFO] [stdout] test tests::test_escaping_control ... ok
[INFO] [stdout] test tests::test_deserialize_serde_json ... ok
[INFO] [stdout] test tests::test_escaping_unicode ... ok
[INFO] [stdout] test tests::test_is_escaped_str ... ok
[INFO] [stdout] test tests::test_is_escaped_string ... ok
[INFO] [stdout] test tests::test_is_unescaped_string ... ok
[INFO] [stdout] test tests::test_non_unique_string ... ok
[INFO] [stdout] test tests::test_print_license_notice ... ok
[INFO] [stdout] test tests::test_execute_job_macros_one_line ... ok
[INFO] [stdout] test tests::test_rumcache_insertion ... ok
[INFO] [stdout] test tests::test_queue_data ... ok
[INFO] [stdout] test tests::test_execute_job_macros ... ok
[INFO] [stdout] test tests::test_serialize_json ... ok
[INFO] [stdout] test tests::test_search_string_words ... ok
[INFO] [stdout] test tests::test_execute_job ... ok
[INFO] [stdout] test tests::test_search_string_letters ... ok
[INFO] [stdout] test tests::test_server_start ... ok
[INFO] [stdout] test tests::test_search_string_named_groups ... ok
[INFO] [stdout] test tests::test_unescaping_string ... ok
[INFO] [stdout] test tests::test_unescaping_unicode ... ok
[INFO] [stdout] test tests::test_unique_string ... ok
[INFO] [stdout] test tests::test_search_string_all_groups ... ok
[INFO] [stdout] test tests::test_server_get_address_info ... ok
[INFO] [stdout] test tests::test_server_stop ... ok
[INFO] [stdout] test tests::test_server_get_clients ... ok
[INFO] [stdout] test tests::test_server_receive ... ok
[INFO] [stdout] test tests::test_server_send ... ok
[INFO] [stdout] test tests::test_client_send ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_client_send stdout ----
[INFO] [stdout] Sleeping
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_client_send' (20) panicked at src/lib.rs:624:50:
[INFO] [stdout] Expected client to have connected!
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x563f9a3e3e82 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x563f9a3e3e82 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x563f9a3e3e82 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x563f9a3e3e82 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x563f9a3fbc3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x563f9a3fbc3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x563f9a3e8fc6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x563f9a3e8fc6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x563f9a3c162f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x563f9a3c162f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x563f9a3dbb29 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x563f99f9c8ce - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x563f99f9c8ce - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x563f9a3dbd92 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x563f9a3dbd92 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x563f9a3c16e8 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x563f9a3b68b9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x563f9a3c270d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x563f9a3fc3fc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x563f9a3fc0f4 - core[27de1724e4349be2]::panicking::panic_display::<&str>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x563f9a3fc0f4 - core[27de1724e4349be2]::option::expect_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/option.rs:2208:5
[INFO] [stdout]   21:     0x563f99f43160 - <core[27de1724e4349be2]::option::Option<&compact_str[dd61597226625d3a]::CompactString>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/option.rs:971:21
[INFO] [stdout]   22:     0x563f99f2dd95 - rumtk_core[1e4b17745a76518c]::tests::test_client_send
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:624:50
[INFO] [stdout]   23:     0x563f99f27eb7 - rumtk_core[1e4b17745a76518c]::tests::test_client_send::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:599:26
[INFO] [stdout]   24:     0x563f99eb6f06 - <rumtk_core[1e4b17745a76518c]::tests::test_client_send::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x563f99f90c7b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x563f99f90c7b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x563f99f9d4da - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x563f99f9d4da - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x563f99f9d4da - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x563f99f9d4da - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x563f99f9d4da - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x563f99f9d4da - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x563f99f9d4da - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x563f99f98a84 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x563f99f98a84 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x563f99f9ffd2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x563f99f9ffd2 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x563f99f9ffd2 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x563f99f9ffd2 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x563f99f9ffd2 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x563f99f9ffd2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x563f99f9ffd2 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x563f9a3e371f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x563f9a3e371f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7a6aaa9abaa4 - <unknown>
[INFO] [stdout]   46:     0x7a6aaaa38a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_client_send
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 35 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.18s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "7d293fefa157a0d4218139d3b18de276fdc39be6cb0ff9ec2d5123c112c6e629", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d293fefa157a0d4218139d3b18de276fdc39be6cb0ff9ec2d5123c112c6e629", kill_on_drop: false }`
[INFO] [stdout] 7d293fefa157a0d4218139d3b18de276fdc39be6cb0ff9ec2d5123c112c6e629
