[INFO] cloning repository https://github.com/mohitejaikumar/CLOB
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mohitejaikumar/CLOB" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohitejaikumar%2FCLOB", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohitejaikumar%2FCLOB'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f3fbe920de3380f06169369615898beaeae62b49
[INFO] testing mohitejaikumar/CLOB against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohitejaikumar%2FCLOB" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mohitejaikumar/CLOB
[INFO] finished tweaking git repo https://github.com/mohitejaikumar/CLOB
[INFO] tweaked toml for git repo https://github.com/mohitejaikumar/CLOB written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mohitejaikumar/CLOB on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mohitejaikumar/CLOB 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 790f78d5bd806894be23927f3a3d24fcd383f57cfded99a6a159efd3a79fa949
[INFO] running `Command { std: "docker" "start" "-a" "790f78d5bd806894be23927f3a3d24fcd383f57cfded99a6a159efd3a79fa949", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "790f78d5bd806894be23927f3a3d24fcd383f57cfded99a6a159efd3a79fa949", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "790f78d5bd806894be23927f3a3d24fcd383f57cfded99a6a159efd3a79fa949", kill_on_drop: false }`
[INFO] [stdout] 790f78d5bd806894be23927f3a3d24fcd383f57cfded99a6a159efd3a79fa949
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6b943a5f203c58a6ff209657912b3ff5c44ff8b9bff63551606f234fe2f5a9b5
[INFO] running `Command { std: "docker" "start" "-a" "6b943a5f203c58a6ff209657912b3ff5c44ff8b9bff63551606f234fe2f5a9b5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling rust_decimal v1.37.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling local-waker v0.1.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling twox-hash v2.1.1
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling lz4_flex v0.11.5
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling rand_pcg v0.9.0
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling actix-service v2.0.3
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling local-channel v0.1.5
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling impl-more v0.1.9
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling brotli v8.0.1
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling simplelog v0.12.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling num-format v0.4.4
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling downcast-rs v2.0.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling ctrlc v3.4.7
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling enum_stringify v0.6.4
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]    Compiling rust_decimal_macros v1.37.1
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling tungstenite v0.26.2
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling scylla-macros v1.3.0
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling gumdrop_derive v0.8.1
[INFO] [stderr]    Compiling tungstenite v0.27.0
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling gumdrop v0.8.1
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling actix-rt v2.10.0
[INFO] [stderr]    Compiling async-compression v0.4.27
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.2
[INFO] [stderr]    Compiling tokio-tungstenite v0.27.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling h2 v0.4.11
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling actix-server v2.6.0
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling redis v0.32.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling scylla-cql v1.3.0
[INFO] [stderr]    Compiling cookie_store v0.21.1
[INFO] [stderr]    Compiling actix-http v3.11.0
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling scylla v1.3.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling actix-web v4.11.0
[INFO] [stderr]    Compiling wss v0.1.0 (/opt/rustwide/workdir/wss)
[INFO] [stdout] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stdout]  --> wss/src/enums/registered_symbols.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     SOL_USDT,
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[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 `BTC_USDT` should have an upper camel case name
[INFO] [stdout]   --> wss/src/enums/registered_symbols.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BTC_USDT,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stdout]   --> wss/src/enums/registered_symbols.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ETH_USDT,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ORDER_UPDATE` should have an upper camel case name
[INFO] [stdout]   --> wss/src/payload.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ORDER_UPDATE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderUpdate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.22
[INFO] [stderr]    Compiling goose v0.18.0
[INFO] [stderr]    Compiling engine v0.1.0 (/opt/rustwide/workdir/engine)
[INFO] [stderr]    Compiling backend v0.1.0 (/opt/rustwide/workdir/backend)
[INFO] [stderr]    Compiling archiever v0.1.0 (/opt/rustwide/workdir/archiever)
[INFO] [stdout] warning: unused import: `LoadBalancingPolicy`
[INFO] [stdout]  --> archiever/src/db.rs:3:165
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...r}, frame::Compression, policies::load_balancing::{self, LoadBalancingPolicy}, statement::batch::Batch};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> archiever/src/state/user.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, error::Error, hash::Hash};
[INFO] [stdout]   |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeserializeRow` and `SerializeRow`
[INFO] [stdout]  --> archiever/src/state/user.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use scylla::{DeserializeRow, SerializeRow};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     SOL_USDT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[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 `BTC_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     BTC_USDT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ETH_USDT
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> archiever/src/db.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut order_1 = self.get_order(queue_trade.order_id, &queue_trade.exchange.symbol).await?;
[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]    --> archiever/src/db.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut order_2 = self.get_order(
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `App`
[INFO] [stdout]  --> backend/src/routes/user.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     App, HttpResponse,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scylla::errors::BadQuery`
[INFO] [stdout]  --> backend/src/api/user.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scylla::errors::BadQuery;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::error::QueryPayloadError`
[INFO] [stdout]  --> backend/src/api/order.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web::error::QueryPayloadError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let mut orders = temp.rows::<ScyllaOrder>().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]    --> engine/src/matching/orderbook.rs:427:13
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let mut temp_cancel = cancel_res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let mut canceled_orders = temp_cancel.rows::<ScyllaCancelOrder>().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]    --> engine/src/matching/orderbook.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let mut canceled_orders: Vec<OrderRequest> = canceled_orders
[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]   --> engine/src/matching/engine.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut orderbooks = &mut self.orderbook;
[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]   --> engine/src/matching/engine.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut query_rows = res.into_rows_result().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]   --> engine/src/matching/engine.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut users = query_rows.rows::<ScyllaUser>().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]    --> engine/src/lib.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let (tx, mut rx) = mpsc::unbounded_channel::<PersistOrderRequest>();
[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]    --> engine/src/lib.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let (event_tx, mut event_rx) = mpsc::unbounded_channel::<Vec<RedisEmit>>();
[INFO] [stdout]     |                        ----^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> archiever/src/state/exchange.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> backend/src/app.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut redis_connection = connect_redis(&redis_uri);
[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]   --> backend/src/db/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/user.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/user.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/user.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/user.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/orders.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> backend/src/routes/orders.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut con = &mut app_state.redis_connection.lock().unwrap();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:179:25
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> backend/src/api/order.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut temp = res.into_rows_result().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]    --> backend/src/api/order.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut orders = temp.rows::<ScyllaOrder>()?;
[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]    --> backend/src/api/order.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut trades = temp.rows::<ScyllaTrade>().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]    --> backend/src/api/trade.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `from_scylla_trade` is never used
[INFO] [stdout]   --> archiever/src/state/scylla_state.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl ScyllaTrade {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 67 |     fn from_scylla_trade(&self) -> Trade {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> engine/src/matching/orderbook.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut order_id = &mut self.order_id;
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let result = match order.order_side {
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let _result = match order.order_side {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]     |
[INFO] [stdout] 172 -         let result = match order.order_side {
[INFO] [stdout] 172 +         let _ = match order.order_side {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut open_orders = self.get_open_orders(user_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]    --> engine/src/matching/orderbook.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 let mut limit = self.bids.get_mut(price);
[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]    --> engine/src/matching/orderbook.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 let mut limit = self.asks.get_mut(price);
[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]    --> engine/src/matching/orderbook.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |         mut trade_id: &mut u64,
[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]   --> engine/src/matching/engine.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut orderbook = self.orderbook.get_mut(&exchange).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]   --> engine/src/matching/engine.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut order_id = &mut self.orderbook.get_mut(exchange).unwrap().order_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]    --> engine/src/matching/engine.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut orderbook = Orderbook::new(exchange.clone());
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> engine/src/handle_order_request.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |         start: Instant,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> engine/src/handle_order_request.rs:333:9
[INFO] [stdout]     |
[INFO] [stdout] 333 |         start: Instant,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/handle_order_request.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let mut get_open_orders: Vec<RecievedOrder> = orderbook
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_engine_and_users` is never used
[INFO] [stdout]    --> engine/src/matching/engine.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn setup_engine_and_users() -> (MatchingEngine, Exchange, Orderbook, Vec<Id>) { // pass redis connection as arg
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> engine/src/lib.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[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] 51 |                     let _ = redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:691:25
[INFO] [stdout]     |
[INFO] [stdout] 691 | /                         event_tx.unwrap().send(
[INFO] [stdout] 692 | |                             vec![
[INFO] [stdout] 693 | |                                 RedisEmit {
[INFO] [stdout] 694 | |                                     cmd: "PUBLISH".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 715 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 691 |                         let _ = event_tx.unwrap().send(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:804:25
[INFO] [stdout]     |
[INFO] [stdout] 804 | /                         event_tx.unwrap().send(
[INFO] [stdout] 805 | |                             vec![
[INFO] [stdout] 806 | |                                 RedisEmit {
[INFO] [stdout] 807 | |                                     cmd: "LPUSH".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 828 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 804 |                         let _ = event_tx.unwrap().send(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:863:5
[INFO] [stdout]     |
[INFO] [stdout] 863 |     users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 863 |     let _ = users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:864:5
[INFO] [stdout]     |
[INFO] [stdout] 864 |     users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 864 |     let _ = users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:868:5
[INFO] [stdout]     |
[INFO] [stdout] 868 |     users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 868 |     let _ = users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:869:5
[INFO] [stdout]     |
[INFO] [stdout] 869 |     users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 869 |     let _ = users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/engine.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     engine.add_new_market(exchange.clone());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let _ = engine.add_new_market(exchange.clone());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | /         tx.send(
[INFO] [stdout] 130 | |             PersistOrderRequest::Save(SaveOrder {
[INFO] [stdout] 131 | |                 locked_balance,
[INFO] [stdout] 132 | |                 asset,
[INFO] [stdout] 133 | |                 recieved_order: recieved_order.clone(),
[INFO] [stdout] 134 | |             })
[INFO] [stdout] 135 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = tx.send(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | /                 tx.send(
[INFO] [stdout] 200 | |                     PersistOrderRequest::Cancel(PersistCancel {
[INFO] [stdout] 201 | |                         id: cancel_order.id,
[INFO] [stdout] 202 | |                         order_side: cancel_order.order_side,
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                     })
[INFO] [stdout] 210 | |                 );
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let _ = tx.send(
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 | /             tx.send(
[INFO] [stdout] 260 | |                 PersistOrderRequest::CancelAll(PersistCancelAll {
[INFO] [stdout] 261 | |                     locked_balances,
[INFO] [stdout] 262 | |                     symbol: cancel_all.symbol,
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |                 })
[INFO] [stdout] 274 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let _ = tx.send(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling loadtesting v0.1.0 (/opt/rustwide/workdir/loadtesting)
[INFO] [stdout] warning: unused import: `scylla::response::query_result`
[INFO] [stdout]  --> archiever/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scylla::response::query_result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CancelAll`, `CancelOrder`, `OrderSide`, and `OrderType`
[INFO] [stdout]  --> loadtesting/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     CancelAll, CancelOrder, Deposit, OpenOrder, OpenOrders, OrderParams, OrderSide, OrderType,
[INFO] [stdout]   |     ^^^^^^^^^  ^^^^^^^^^^^                                               ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> loadtesting/src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]   --> loadtesting/src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, str::FromStr, time::Instant};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_balances` is never used
[INFO] [stdout]   --> loadtesting/src/main.rs:91:10
[INFO] [stdout]    |
[INFO] [stdout] 91 | async fn get_user_balances(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deposit_funds` is never used
[INFO] [stdout]   --> loadtesting/src/main.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn deposit_funds(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `withdraw_funds` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn withdraw_funds(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_order_history` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | async fn get_order_history(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_order` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | async fn execute_order(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_open_order` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | async fn get_open_order(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_open_orders` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:221:10
[INFO] [stdout]     |
[INFO] [stdout] 221 | async fn get_open_orders(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_trades` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:241:10
[INFO] [stdout]     |
[INFO] [stdout] 241 | async fn get_trades(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 01s
[INFO] running `Command { std: "docker" "inspect" "6b943a5f203c58a6ff209657912b3ff5c44ff8b9bff63551606f234fe2f5a9b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b943a5f203c58a6ff209657912b3ff5c44ff8b9bff63551606f234fe2f5a9b5", kill_on_drop: false }`
[INFO] [stdout] 6b943a5f203c58a6ff209657912b3ff5c44ff8b9bff63551606f234fe2f5a9b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67c26ecfe196e9f7f6a0b4ce13c3b6b9d4451d33fbf1a9a591475ccf91d5b8e6
[INFO] running `Command { std: "docker" "start" "-a" "67c26ecfe196e9f7f6a0b4ce13c3b6b9d4451d33fbf1a9a591475ccf91d5b8e6", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `LoadBalancingPolicy`
[INFO] [stdout]  --> archiever/src/db.rs:3:165
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...r}, frame::Compression, policies::load_balancing::{self, LoadBalancingPolicy}, statement::batch::Batch};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> archiever/src/state/user.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, error::Error, hash::Hash};
[INFO] [stdout]   |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeserializeRow` and `SerializeRow`
[INFO] [stdout]  --> archiever/src/state/user.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use scylla::{DeserializeRow, SerializeRow};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> archiever/src/db.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut order_1 = self.get_order(queue_trade.order_id, &queue_trade.exchange.symbol).await?;
[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]    --> archiever/src/db.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut order_2 = self.get_order(
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> archiever/src/state/exchange.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling archiever v0.1.0 (/opt/rustwide/workdir/archiever)
[INFO] [stdout] warning: method `from_scylla_trade` is never used
[INFO] [stdout]   --> archiever/src/state/scylla_state.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl ScyllaTrade {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 67 |     fn from_scylla_trade(&self) -> Trade {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stdout]  --> wss/src/enums/registered_symbols.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     SOL_USDT,
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[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 `BTC_USDT` should have an upper camel case name
[INFO] [stdout]   --> wss/src/enums/registered_symbols.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BTC_USDT,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stdout]   --> wss/src/enums/registered_symbols.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ETH_USDT,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ORDER_UPDATE` should have an upper camel case name
[INFO] [stdout]   --> wss/src/payload.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ORDER_UPDATE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderUpdate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     SOL_USDT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[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 `BTC_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     BTC_USDT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ETH_USDT
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let mut orders = temp.rows::<ScyllaOrder>().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]    --> engine/src/matching/orderbook.rs:427:13
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let mut temp_cancel = cancel_res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let mut canceled_orders = temp_cancel.rows::<ScyllaCancelOrder>().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]    --> engine/src/matching/orderbook.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let mut canceled_orders: Vec<OrderRequest> = canceled_orders
[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]   --> engine/src/matching/engine.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut orderbooks = &mut self.orderbook;
[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]   --> engine/src/matching/engine.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut query_rows = res.into_rows_result().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]   --> engine/src/matching/engine.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut users = query_rows.rows::<ScyllaUser>().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]    --> engine/src/lib.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let (tx, mut rx) = mpsc::unbounded_channel::<PersistOrderRequest>();
[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]    --> engine/src/lib.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let (event_tx, mut event_rx) = mpsc::unbounded_channel::<Vec<RedisEmit>>();
[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]   --> engine/src/matching/orderbook.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut order_id = &mut self.order_id;
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let result = match order.order_side {
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let _result = match order.order_side {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]     |
[INFO] [stdout] 172 -         let result = match order.order_side {
[INFO] [stdout] 172 +         let _ = match order.order_side {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut open_orders = self.get_open_orders(user_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]    --> engine/src/matching/orderbook.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 let mut limit = self.bids.get_mut(price);
[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]    --> engine/src/matching/orderbook.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 let mut limit = self.asks.get_mut(price);
[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]    --> engine/src/matching/orderbook.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |         mut trade_id: &mut u64,
[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]   --> engine/src/matching/engine.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut orderbook = self.orderbook.get_mut(&exchange).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]   --> engine/src/matching/engine.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut order_id = &mut self.orderbook.get_mut(exchange).unwrap().order_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]    --> engine/src/matching/engine.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut orderbook = Orderbook::new(exchange.clone());
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> engine/src/handle_order_request.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |         start: Instant,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> engine/src/handle_order_request.rs:333:9
[INFO] [stdout]     |
[INFO] [stdout] 333 |         start: Instant,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/handle_order_request.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let mut get_open_orders: Vec<RecievedOrder> = orderbook
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_engine_and_users` is never used
[INFO] [stdout]    --> engine/src/matching/engine.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn setup_engine_and_users() -> (MatchingEngine, Exchange, Orderbook, Vec<Id>) { // pass redis connection as arg
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> engine/src/lib.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[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] 51 |                     let _ = redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:691:25
[INFO] [stdout]     |
[INFO] [stdout] 691 | /                         event_tx.unwrap().send(
[INFO] [stdout] 692 | |                             vec![
[INFO] [stdout] 693 | |                                 RedisEmit {
[INFO] [stdout] 694 | |                                     cmd: "PUBLISH".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 715 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 691 |                         let _ = event_tx.unwrap().send(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:804:25
[INFO] [stdout]     |
[INFO] [stdout] 804 | /                         event_tx.unwrap().send(
[INFO] [stdout] 805 | |                             vec![
[INFO] [stdout] 806 | |                                 RedisEmit {
[INFO] [stdout] 807 | |                                     cmd: "LPUSH".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 828 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 804 |                         let _ = event_tx.unwrap().send(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:863:5
[INFO] [stdout]     |
[INFO] [stdout] 863 |     users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 863 |     let _ = users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:864:5
[INFO] [stdout]     |
[INFO] [stdout] 864 |     users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 864 |     let _ = users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:868:5
[INFO] [stdout]     |
[INFO] [stdout] 868 |     users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 868 |     let _ = users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:869:5
[INFO] [stdout]     |
[INFO] [stdout] 869 |     users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 869 |     let _ = users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/engine.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     engine.add_new_market(exchange.clone());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let _ = engine.add_new_market(exchange.clone());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | /         tx.send(
[INFO] [stdout] 130 | |             PersistOrderRequest::Save(SaveOrder {
[INFO] [stdout] 131 | |                 locked_balance,
[INFO] [stdout] 132 | |                 asset,
[INFO] [stdout] 133 | |                 recieved_order: recieved_order.clone(),
[INFO] [stdout] 134 | |             })
[INFO] [stdout] 135 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = tx.send(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | /                 tx.send(
[INFO] [stdout] 200 | |                     PersistOrderRequest::Cancel(PersistCancel {
[INFO] [stdout] 201 | |                         id: cancel_order.id,
[INFO] [stdout] 202 | |                         order_side: cancel_order.order_side,
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                     })
[INFO] [stdout] 210 | |                 );
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let _ = tx.send(
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 | /             tx.send(
[INFO] [stdout] 260 | |                 PersistOrderRequest::CancelAll(PersistCancelAll {
[INFO] [stdout] 261 | |                     locked_balances,
[INFO] [stdout] 262 | |                     symbol: cancel_all.symbol,
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |                 })
[INFO] [stdout] 274 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let _ = tx.send(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling engine v0.1.0 (/opt/rustwide/workdir/engine)
[INFO] [stderr]    Compiling wss v0.1.0 (/opt/rustwide/workdir/wss)
[INFO] [stdout] warning: unused import: `App`
[INFO] [stdout]  --> backend/src/routes/user.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     App, HttpResponse,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scylla::errors::BadQuery`
[INFO] [stdout]  --> backend/src/api/user.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scylla::errors::BadQuery;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::error::QueryPayloadError`
[INFO] [stdout]  --> backend/src/api/order.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web::error::QueryPayloadError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> backend/src/app.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut redis_connection = connect_redis(&redis_uri);
[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]   --> backend/src/db/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/user.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/user.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/user.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/user.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/orders.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> backend/src/routes/orders.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut con = &mut app_state.redis_connection.lock().unwrap();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling backend v0.1.0 (/opt/rustwide/workdir/backend)
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:179:25
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> backend/src/api/order.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut temp = res.into_rows_result().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]    --> backend/src/api/order.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut orders = temp.rows::<ScyllaOrder>()?;
[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]    --> backend/src/api/order.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut trades = temp.rows::<ScyllaTrade>().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]    --> backend/src/api/trade.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling loadtesting v0.1.0 (/opt/rustwide/workdir/loadtesting)
[INFO] [stdout] warning: unused import: `scylla::response::query_result`
[INFO] [stdout]  --> archiever/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scylla::response::query_result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CancelAll`, `CancelOrder`, `OrderSide`, and `OrderType`
[INFO] [stdout]  --> loadtesting/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     CancelAll, CancelOrder, Deposit, OpenOrder, OpenOrders, OrderParams, OrderSide, OrderType,
[INFO] [stdout]   |     ^^^^^^^^^  ^^^^^^^^^^^                                               ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> loadtesting/src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]   --> loadtesting/src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, str::FromStr, time::Instant};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stdout]  --> wss/src/enums/registered_symbols.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     SOL_USDT,
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[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 `BTC_USDT` should have an upper camel case name
[INFO] [stdout]   --> wss/src/enums/registered_symbols.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BTC_USDT,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stdout]   --> wss/src/enums/registered_symbols.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ETH_USDT,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ORDER_UPDATE` should have an upper camel case name
[INFO] [stdout]   --> wss/src/payload.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ORDER_UPDATE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderUpdate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LoadBalancingPolicy`
[INFO] [stdout]  --> archiever/src/db.rs:3:165
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...r}, frame::Compression, policies::load_balancing::{self, LoadBalancingPolicy}, statement::batch::Batch};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> archiever/src/state/user.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, error::Error, hash::Hash};
[INFO] [stdout]   |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeserializeRow` and `SerializeRow`
[INFO] [stdout]  --> archiever/src/state/user.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use scylla::{DeserializeRow, SerializeRow};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_balances` is never used
[INFO] [stdout]   --> loadtesting/src/main.rs:91:10
[INFO] [stdout]    |
[INFO] [stdout] 91 | async fn get_user_balances(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deposit_funds` is never used
[INFO] [stdout]   --> loadtesting/src/main.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn deposit_funds(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `withdraw_funds` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn withdraw_funds(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_order_history` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | async fn get_order_history(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_order` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | async fn execute_order(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_open_order` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | async fn get_open_order(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_open_orders` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:221:10
[INFO] [stdout]     |
[INFO] [stdout] 221 | async fn get_open_orders(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_trades` is never used
[INFO] [stdout]    --> loadtesting/src/main.rs:241:10
[INFO] [stdout]     |
[INFO] [stdout] 241 | async fn get_trades(user: &mut GooseUser) -> TransactionResult {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> archiever/src/db.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut order_1 = self.get_order(queue_trade.order_id, &queue_trade.exchange.symbol).await?;
[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]    --> archiever/src/db.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut order_2 = self.get_order(
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     SOL_USDT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[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 `BTC_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     BTC_USDT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stdout]    --> engine/src/matching/mod.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ETH_USDT
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `App`
[INFO] [stdout]  --> backend/src/routes/user.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     App, HttpResponse,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scylla::errors::BadQuery`
[INFO] [stdout]  --> backend/src/api/user.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scylla::errors::BadQuery;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::error::QueryPayloadError`
[INFO] [stdout]  --> backend/src/api/order.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web::error::QueryPayloadError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> archiever/src/state/exchange.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let mut orders = temp.rows::<ScyllaOrder>().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]    --> engine/src/matching/orderbook.rs:427:13
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let mut temp_cancel = cancel_res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let mut canceled_orders = temp_cancel.rows::<ScyllaCancelOrder>().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]    --> engine/src/matching/orderbook.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let mut canceled_orders: Vec<OrderRequest> = canceled_orders
[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]   --> engine/src/matching/engine.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut orderbooks = &mut self.orderbook;
[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]   --> engine/src/matching/engine.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut query_rows = res.into_rows_result().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]   --> engine/src/matching/engine.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut users = query_rows.rows::<ScyllaUser>().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]    --> engine/src/lib.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let (tx, mut rx) = mpsc::unbounded_channel::<PersistOrderRequest>();
[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]    --> engine/src/lib.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let (event_tx, mut event_rx) = mpsc::unbounded_channel::<Vec<RedisEmit>>();
[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]   --> backend/src/app.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut redis_connection = connect_redis(&redis_uri);
[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]   --> backend/src/db/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/user.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/user.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/user.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/user.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]   --> backend/src/routes/orders.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let mut response_result: Option<String> = None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> backend/src/routes/orders.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut con = &mut app_state.redis_connection.lock().unwrap();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let mut response_result: Option<String> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:179:25
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response_result` is never read
[INFO] [stdout]    --> backend/src/routes/orders.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 let mut response_result: Option<String> = None;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> backend/src/routes/orders.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> backend/src/api/order.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut temp = res.into_rows_result().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]    --> backend/src/api/order.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut orders = temp.rows::<ScyllaOrder>()?;
[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]    --> backend/src/api/order.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut trades = temp.rows::<ScyllaTrade>().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]    --> backend/src/api/trade.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `from_scylla_trade` is never used
[INFO] [stdout]   --> archiever/src/state/scylla_state.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl ScyllaTrade {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 67 |     fn from_scylla_trade(&self) -> Trade {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> engine/src/matching/orderbook.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut order_id = &mut self.order_id;
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let result = match order.order_side {
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let _result = match order.order_side {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]     |
[INFO] [stdout] 172 -         let result = match order.order_side {
[INFO] [stdout] 172 +         let _ = match order.order_side {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut open_orders = self.get_open_orders(user_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]    --> engine/src/matching/orderbook.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 let mut limit = self.bids.get_mut(price);
[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]    --> engine/src/matching/orderbook.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 let mut limit = self.asks.get_mut(price);
[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]    --> engine/src/matching/orderbook.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |         mut trade_id: &mut u64,
[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]   --> engine/src/matching/engine.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut orderbook = self.orderbook.get_mut(&exchange).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]   --> engine/src/matching/engine.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut order_id = &mut self.orderbook.get_mut(exchange).unwrap().order_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]    --> engine/src/matching/engine.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut orderbook = Orderbook::new(exchange.clone());
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> engine/src/handle_order_request.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |         start: Instant,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> engine/src/handle_order_request.rs:333:9
[INFO] [stdout]     |
[INFO] [stdout] 333 |         start: Instant,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> engine/src/handle_order_request.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let mut get_open_orders: Vec<RecievedOrder> = orderbook
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_engine_and_users` is never used
[INFO] [stdout]    --> engine/src/matching/engine.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn setup_engine_and_users() -> (MatchingEngine, Exchange, Orderbook, Vec<Id>) { // pass redis connection as arg
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> engine/src/lib.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[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] 51 |                     let _ = redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:691:25
[INFO] [stdout]     |
[INFO] [stdout] 691 | /                         event_tx.unwrap().send(
[INFO] [stdout] 692 | |                             vec![
[INFO] [stdout] 693 | |                                 RedisEmit {
[INFO] [stdout] 694 | |                                     cmd: "PUBLISH".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 715 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 691 |                         let _ = event_tx.unwrap().send(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:804:25
[INFO] [stdout]     |
[INFO] [stdout] 804 | /                         event_tx.unwrap().send(
[INFO] [stdout] 805 | |                             vec![
[INFO] [stdout] 806 | |                                 RedisEmit {
[INFO] [stdout] 807 | |                                     cmd: "LPUSH".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 828 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 804 |                         let _ = event_tx.unwrap().send(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:863:5
[INFO] [stdout]     |
[INFO] [stdout] 863 |     users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 863 |     let _ = users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:864:5
[INFO] [stdout]     |
[INFO] [stdout] 864 |     users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 864 |     let _ = users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:868:5
[INFO] [stdout]     |
[INFO] [stdout] 868 |     users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 868 |     let _ = users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/orderbook.rs:869:5
[INFO] [stdout]     |
[INFO] [stdout] 869 |     users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 869 |     let _ = users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/matching/engine.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     engine.add_new_market(exchange.clone());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let _ = engine.add_new_market(exchange.clone());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | /         tx.send(
[INFO] [stdout] 130 | |             PersistOrderRequest::Save(SaveOrder {
[INFO] [stdout] 131 | |                 locked_balance,
[INFO] [stdout] 132 | |                 asset,
[INFO] [stdout] 133 | |                 recieved_order: recieved_order.clone(),
[INFO] [stdout] 134 | |             })
[INFO] [stdout] 135 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = tx.send(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | /                 tx.send(
[INFO] [stdout] 200 | |                     PersistOrderRequest::Cancel(PersistCancel {
[INFO] [stdout] 201 | |                         id: cancel_order.id,
[INFO] [stdout] 202 | |                         order_side: cancel_order.order_side,
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                     })
[INFO] [stdout] 210 | |                 );
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let _ = tx.send(
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> engine/src/handle_order_request.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 | /             tx.send(
[INFO] [stdout] 260 | |                 PersistOrderRequest::CancelAll(PersistCancelAll {
[INFO] [stdout] 261 | |                     locked_balances,
[INFO] [stdout] 262 | |                     symbol: cancel_all.symbol,
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |                 })
[INFO] [stdout] 274 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let _ = tx.send(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.46s
[INFO] running `Command { std: "docker" "inspect" "67c26ecfe196e9f7f6a0b4ce13c3b6b9d4451d33fbf1a9a591475ccf91d5b8e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67c26ecfe196e9f7f6a0b4ce13c3b6b9d4451d33fbf1a9a591475ccf91d5b8e6", kill_on_drop: false }`
[INFO] [stdout] 67c26ecfe196e9f7f6a0b4ce13c3b6b9d4451d33fbf1a9a591475ccf91d5b8e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a8b1a7c477c9af3be1ce561cbc544faa99d9de50471a25245d53878dd3018862
[INFO] running `Command { std: "docker" "start" "-a" "a8b1a7c477c9af3be1ce561cbc544faa99d9de50471a25245d53878dd3018862", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `LoadBalancingPolicy`
[INFO] [stderr]  --> archiever/src/db.rs:3:165
[INFO] [stderr]   |
[INFO] [stderr] 3 | ...r}, frame::Compression, policies::load_balancing::{self, LoadBalancingPolicy}, statement::batch::Batch};
[INFO] [stderr]   |                                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `hash::Hash`
[INFO] [stderr]  --> archiever/src/state/user.rs:1:47
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{collections::HashMap, error::Error, hash::Hash};
[INFO] [stderr]   |                                               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DeserializeRow` and `SerializeRow`
[INFO] [stderr]  --> archiever/src/state/user.rs:3:14
[INFO] [stderr]   |
[INFO] [stderr] 3 | use scylla::{DeserializeRow, SerializeRow};
[INFO] [stderr]   |              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> archiever/src/db.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |         let mut order_1 = self.get_order(queue_trade.order_id, &queue_trade.exchange.symbol).await?;
[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]    --> archiever/src/db.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |         let mut order_2 = self.get_order(
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> archiever/src/state/exchange.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `from_scylla_trade` is never used
[INFO] [stderr]   --> archiever/src/state/scylla_state.rs:67:8
[INFO] [stderr]    |
[INFO] [stderr] 66 | impl ScyllaTrade {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] 67 |     fn from_scylla_trade(&self) -> Trade {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `archiever` (lib) generated 7 warnings (run `cargo fix --lib -p archiever` to apply 5 suggestions)
[INFO] [stderr] warning: `archiever` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stderr]  --> wss/src/enums/registered_symbols.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     SOL_USDT,
[INFO] [stderr]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `BTC_USDT` should have an upper camel case name
[INFO] [stderr]   --> wss/src/enums/registered_symbols.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     BTC_USDT,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stderr]   --> wss/src/enums/registered_symbols.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     ETH_USDT,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ORDER_UPDATE` should have an upper camel case name
[INFO] [stderr]   --> wss/src/payload.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     ORDER_UPDATE,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderUpdate`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stderr]    --> engine/src/matching/mod.rs:111:5
[INFO] [stderr]     |
[INFO] [stderr] 111 |     SOL_USDT,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `BTC_USDT` should have an upper camel case name
[INFO] [stderr]    --> engine/src/matching/mod.rs:112:5
[INFO] [stderr]     |
[INFO] [stderr] 112 |     BTC_USDT,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stderr]    --> engine/src/matching/mod.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 113 |     ETH_USDT
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:368:13
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:378:13
[INFO] [stderr]     |
[INFO] [stderr] 378 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:425:13
[INFO] [stderr]     |
[INFO] [stderr] 425 |         let mut temp = res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:426:13
[INFO] [stderr]     |
[INFO] [stderr] 426 |         let mut orders = temp.rows::<ScyllaOrder>().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]    --> engine/src/matching/orderbook.rs:427:13
[INFO] [stderr]     |
[INFO] [stderr] 427 |         let mut temp_cancel = cancel_res.into_rows_result().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]    --> engine/src/matching/orderbook.rs:428:13
[INFO] [stderr]     |
[INFO] [stderr] 428 |         let mut canceled_orders = temp_cancel.rows::<ScyllaCancelOrder>().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]    --> engine/src/matching/orderbook.rs:435:13
[INFO] [stderr]     |
[INFO] [stderr] 435 |         let mut canceled_orders: Vec<OrderRequest> = canceled_orders
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> engine/src/matching/engine.rs:80:13
[INFO] [stderr]    |
[INFO] [stderr] 80 |         let mut orderbooks = &mut self.orderbook;
[INFO] [stderr]    |             ----^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> engine/src/matching/engine.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |         let mut query_rows = res.into_rows_result().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]   --> engine/src/matching/engine.rs:85:13
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let mut users = query_rows.rows::<ScyllaUser>().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]    --> engine/src/lib.rs:149:18
[INFO] [stderr]     |
[INFO] [stderr] 149 |         let (tx, mut rx) = mpsc::unbounded_channel::<PersistOrderRequest>();
[INFO] [stderr]     |                  ----^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> engine/src/lib.rs:151:24
[INFO] [stderr]     |
[INFO] [stderr] 151 |         let (event_tx, mut event_rx) = mpsc::unbounded_channel::<Vec<RedisEmit>>();
[INFO] [stderr]     |                        ----^^^^^^^^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> engine/src/matching/orderbook.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut order_id = &mut self.order_id;
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let result = match order.order_side {
[INFO] [stderr]     |             ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let _result = match order.order_side {
[INFO] [stderr]     |             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stderr]     |
[INFO] [stderr] 172 -         let result = match order.order_side {
[INFO] [stderr] 172 +         let _ = match order.order_side {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:247:13
[INFO] [stderr]     |
[INFO] [stderr] 247 |         let mut open_orders = self.get_open_orders(user_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]    --> engine/src/matching/orderbook.rs:298:21
[INFO] [stderr]     |
[INFO] [stderr] 298 |                 let mut limit = self.bids.get_mut(price);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:315:21
[INFO] [stderr]     |
[INFO] [stderr] 315 |                 let mut limit = self.asks.get_mut(price);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:583:9
[INFO] [stderr]     |
[INFO] [stderr] 583 |         mut trade_id: &mut u64,
[INFO] [stderr]     |         ----^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> engine/src/matching/engine.rs:56:13
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let mut orderbook = self.orderbook.get_mut(&exchange).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]   --> engine/src/matching/engine.rs:69:13
[INFO] [stderr]    |
[INFO] [stderr] 69 |         let mut order_id = &mut self.orderbook.get_mut(exchange).unwrap().order_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]    --> engine/src/matching/engine.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |     let mut orderbook = Orderbook::new(exchange.clone());
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]    --> engine/src/handle_order_request.rs:287:9
[INFO] [stderr]     |
[INFO] [stderr] 287 |         start: Instant,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]    --> engine/src/handle_order_request.rs:333:9
[INFO] [stderr]     |
[INFO] [stderr] 333 |         start: Instant,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> engine/src/handle_order_request.rs:338:13
[INFO] [stderr]     |
[INFO] [stderr] 338 |         let mut get_open_orders: Vec<RecievedOrder> = orderbook
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `setup_engine_and_users` is never used
[INFO] [stderr]    --> engine/src/matching/engine.rs:109:4
[INFO] [stderr]     |
[INFO] [stderr] 109 | fn setup_engine_and_users() -> (MatchingEngine, Exchange, Orderbook, Vec<Id>) { // pass redis connection as arg
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> engine/src/lib.rs:51:21
[INFO] [stderr]    |
[INFO] [stderr] 51 |                     redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[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] 51 |                     let _ = redis::cmd(&event.cmd).arg(event.arg_1).arg(event.arg_2).query::<Value>(&mut con);
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:691:25
[INFO] [stderr]     |
[INFO] [stderr] 691 | /                         event_tx.unwrap().send(
[INFO] [stderr] 692 | |                             vec![
[INFO] [stderr] 693 | |                                 RedisEmit {
[INFO] [stderr] 694 | |                                     cmd: "PUBLISH".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 715 | |                         );
[INFO] [stderr]     | |_________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 691 |                         let _ = event_tx.unwrap().send(
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:804:25
[INFO] [stderr]     |
[INFO] [stderr] 804 | /                         event_tx.unwrap().send(
[INFO] [stderr] 805 | |                             vec![
[INFO] [stderr] 806 | |                                 RedisEmit {
[INFO] [stderr] 807 | |                                     cmd: "LPUSH".to_string(),
[INFO] [stderr] ...   |
[INFO] [stderr] 828 | |                         );
[INFO] [stderr]     | |_________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 804 |                         let _ = event_tx.unwrap().send(
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:863:5
[INFO] [stderr]     |
[INFO] [stderr] 863 |     users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 863 |     let _ = users.withdraw(&exchange.base, quantity, user_id);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:864:5
[INFO] [stderr]     |
[INFO] [stderr] 864 |     users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 864 |     let _ = users.deposit(&exchange.quote, quantity * exchange_price, user_id);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:868:5
[INFO] [stderr]     |
[INFO] [stderr] 868 |     users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 868 |     let _ = users.withdraw(&exchange.quote, quantity * exchange_price, client_user_id);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/matching/orderbook.rs:869:5
[INFO] [stderr]     |
[INFO] [stderr] 869 |     users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 869 |     let _ = users.deposit(&exchange.base, quantity, client_user_id);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/matching/engine.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 113 |     engine.add_new_market(exchange.clone());
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 113 |     let _ = engine.add_new_market(exchange.clone());
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/handle_order_request.rs:129:9
[INFO] [stderr]     |
[INFO] [stderr] 129 | /         tx.send(
[INFO] [stderr] 130 | |             PersistOrderRequest::Save(SaveOrder {
[INFO] [stderr] 131 | |                 locked_balance,
[INFO] [stderr] 132 | |                 asset,
[INFO] [stderr] 133 | |                 recieved_order: recieved_order.clone(),
[INFO] [stderr] 134 | |             })
[INFO] [stderr] 135 | |         );
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let _ = tx.send(
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/handle_order_request.rs:199:17
[INFO] [stderr]     |
[INFO] [stderr] 199 | /                 tx.send(
[INFO] [stderr] 200 | |                     PersistOrderRequest::Cancel(PersistCancel {
[INFO] [stderr] 201 | |                         id: cancel_order.id,
[INFO] [stderr] 202 | |                         order_side: cancel_order.order_side,
[INFO] [stderr] ...   |
[INFO] [stderr] 209 | |                     })
[INFO] [stderr] 210 | |                 );
[INFO] [stderr]     | |_________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 let _ = tx.send(
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> engine/src/handle_order_request.rs:259:13
[INFO] [stderr]     |
[INFO] [stderr] 259 | /             tx.send(
[INFO] [stderr] 260 | |                 PersistOrderRequest::CancelAll(PersistCancelAll {
[INFO] [stderr] 261 | |                     locked_balances,
[INFO] [stderr] 262 | |                     symbol: cancel_all.symbol,
[INFO] [stderr] ...   |
[INFO] [stderr] 273 | |                 })
[INFO] [stderr] 274 | |             );
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 259 |             let _ = tx.send(
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `scylla::response::query_result`
[INFO] [stderr]  --> archiever/src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use scylla::response::query_result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wss` (lib) generated 4 warnings
[INFO] [stderr] warning: `engine` (lib) generated 39 warnings (run `cargo fix --lib -p engine` to apply 22 suggestions)
[INFO] [stderr] warning: `wss` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `engine` (lib test) generated 39 warnings (39 duplicates)
[INFO] [stderr] warning: `archiever` (bin "archiever" test) generated 1 warning (run `cargo fix --bin "archiever" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `App`
[INFO] [stderr]  --> backend/src/routes/user.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     App, HttpResponse,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `scylla::errors::BadQuery`
[INFO] [stderr]  --> backend/src/api/user.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use scylla::errors::BadQuery;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::error::QueryPayloadError`
[INFO] [stderr]  --> backend/src/api/order.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use actix_web::error::QueryPayloadError;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> backend/src/app.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let mut redis_connection = connect_redis(&redis_uri);
[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]   --> backend/src/db/mod.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]   --> backend/src/routes/user.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |             let mut response_result: Option<String> = None;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]   --> backend/src/routes/user.rs:66:21
[INFO] [stderr]    |
[INFO] [stderr] 66 |             let mut response_result: Option<String> = None;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]    --> backend/src/routes/user.rs:102:21
[INFO] [stderr]     |
[INFO] [stderr] 102 |             let mut response_result: Option<String> = None;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]    --> backend/src/routes/user.rs:139:21
[INFO] [stderr]     |
[INFO] [stderr] 139 |             let mut response_result: Option<String> = None;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]   --> backend/src/routes/orders.rs:60:21
[INFO] [stderr]    |
[INFO] [stderr] 60 |             let mut response_result: Option<String> = None;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> backend/src/routes/orders.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let mut con = &mut app_state.redis_connection.lock().unwrap();
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]    --> backend/src/routes/orders.rs:101:21
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let mut response_result: Option<String> = None;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]    --> backend/src/routes/orders.rs:141:25
[INFO] [stderr]     |
[INFO] [stderr] 141 |                 let mut response_result: Option<String> = None;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> backend/src/routes/orders.rs:152:25
[INFO] [stderr]     |
[INFO] [stderr] 152 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stderr]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]    --> backend/src/routes/orders.rs:179:25
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 let mut response_result: Option<String> = None;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> backend/src/routes/orders.rs:190:25
[INFO] [stderr]     |
[INFO] [stderr] 190 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stderr]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `response_result` is never read
[INFO] [stderr]    --> backend/src/routes/orders.rs:220:25
[INFO] [stderr]     |
[INFO] [stderr] 220 |                 let mut response_result: Option<String> = None;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> backend/src/routes/orders.rs:231:25
[INFO] [stderr]     |
[INFO] [stderr] 231 |                     Err(err) => HttpResponse::BadRequest().json(response),
[INFO] [stderr]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> backend/src/api/order.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 116 |         let mut temp = res.into_rows_result().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]    --> backend/src/api/order.rs:117:13
[INFO] [stderr]     |
[INFO] [stderr] 117 |         let mut orders = temp.rows::<ScyllaOrder>()?;
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> backend/src/api/order.rs:145:13
[INFO] [stderr]     |
[INFO] [stderr] 145 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |         let mut temp = res.into_rows_result().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]   --> backend/src/api/trade.rs:97:13
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let mut trades = temp.rows::<ScyllaTrade>().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]    --> backend/src/api/trade.rs:117:13
[INFO] [stderr]     |
[INFO] [stderr] 117 |         let mut temp = res.into_rows_result().unwrap();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `backend` (lib) generated 24 warnings (run `cargo fix --lib -p backend` to apply 12 suggestions)
[INFO] [stderr] warning: `backend` (lib test) generated 24 warnings (24 duplicates)
[INFO] [stderr] warning: unused imports: `CancelAll`, `CancelOrder`, `OrderSide`, and `OrderType`
[INFO] [stderr]  --> loadtesting/src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     CancelAll, CancelOrder, Deposit, OpenOrder, OpenOrders, OrderParams, OrderSide, OrderType,
[INFO] [stderr]   |     ^^^^^^^^^  ^^^^^^^^^^^                                               ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]  --> loadtesting/src/main.rs:8:13
[INFO] [stderr]   |
[INFO] [stderr] 8 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `collections::HashMap`
[INFO] [stderr]   --> loadtesting/src/main.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::{collections::HashMap, str::FromStr, time::Instant};
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_user_balances` is never used
[INFO] [stderr]   --> loadtesting/src/main.rs:91:10
[INFO] [stderr]    |
[INFO] [stderr] 91 | async fn get_user_balances(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `deposit_funds` is never used
[INFO] [stderr]   --> loadtesting/src/main.rs:98:10
[INFO] [stderr]    |
[INFO] [stderr] 98 | async fn deposit_funds(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `withdraw_funds` is never used
[INFO] [stderr]    --> loadtesting/src/main.rs:114:10
[INFO] [stderr]     |
[INFO] [stderr] 114 | async fn withdraw_funds(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_order_history` is never used
[INFO] [stderr]    --> loadtesting/src/main.rs:130:10
[INFO] [stderr]     |
[INFO] [stderr] 130 | async fn get_order_history(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `execute_order` is never used
[INFO] [stderr]    --> loadtesting/src/main.rs:139:10
[INFO] [stderr]     |
[INFO] [stderr] 139 | async fn execute_order(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_open_order` is never used
[INFO] [stderr]    --> loadtesting/src/main.rs:199:10
[INFO] [stderr]     |
[INFO] [stderr] 199 | async fn get_open_order(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_open_orders` is never used
[INFO] [stderr]    --> loadtesting/src/main.rs:221:10
[INFO] [stderr]     |
[INFO] [stderr] 221 | async fn get_open_orders(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_trades` is never used
[INFO] [stderr]    --> loadtesting/src/main.rs:241:10
[INFO] [stderr]     |
[INFO] [stderr] 241 | async fn get_trades(user: &mut GooseUser) -> TransactionResult {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `loadtesting` (bin "loadtesting" test) generated 11 warnings (run `cargo fix --bin "loadtesting" --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/archiever-d224a9f0ee48ae60)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/archiever-0f71f3bdc8b32550)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/backend-f378c2a48993970d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/backend-c3b58f3fa63c0758)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine-c69eec96cbefb619)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/engine-cd45dbad97802852)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/loadtesting-f79632fd25e82bc7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/loadtesting-b193f01998c11aca)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wss-e5e1e862a0f2148f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wss-625b0921802cc82f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests archiever
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests backend
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests engine
[INFO] [stderr] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stderr]    --> engine/src/matching/mod.rs:111:5
[INFO] [stderr]     |
[INFO] [stderr] 111 |     SOL_USDT,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `BTC_USDT` should have an upper camel case name
[INFO] [stderr]    --> engine/src/matching/mod.rs:112:5
[INFO] [stderr]     |
[INFO] [stderr] 112 |     BTC_USDT,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stderr]    --> engine/src/matching/mod.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 113 |     ETH_USDT
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests loadtesting
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wss
[INFO] [stderr] warning: variant `SOL_USDT` should have an upper camel case name
[INFO] [stderr]  --> wss/src/enums/registered_symbols.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     SOL_USDT,
[INFO] [stderr]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `SolUsdt`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `BTC_USDT` should have an upper camel case name
[INFO] [stderr]   --> wss/src/enums/registered_symbols.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     BTC_USDT,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `BtcUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ETH_USDT` should have an upper camel case name
[INFO] [stderr]   --> wss/src/enums/registered_symbols.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     ETH_USDT,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `EthUsdt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ORDER_UPDATE` should have an upper camel case name
[INFO] [stderr]   --> wss/src/payload.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     ORDER_UPDATE,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderUpdate`
[INFO] [stderr] 
[INFO] [stderr] warning: 4 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a8b1a7c477c9af3be1ce561cbc544faa99d9de50471a25245d53878dd3018862", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8b1a7c477c9af3be1ce561cbc544faa99d9de50471a25245d53878dd3018862", kill_on_drop: false }`
[INFO] [stdout] a8b1a7c477c9af3be1ce561cbc544faa99d9de50471a25245d53878dd3018862
