[INFO] cloning repository https://github.com/AkarSeviva/lead-lag-arb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AkarSeviva/lead-lag-arb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkarSeviva%2Flead-lag-arb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkarSeviva%2Flead-lag-arb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3a63e7bf83f6076d3254a6dbf64d06abf5f5fab1
[INFO] checking AkarSeviva/lead-lag-arb against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkarSeviva%2Flead-lag-arb" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AkarSeviva/lead-lag-arb
[INFO] finished tweaking git repo https://github.com/AkarSeviva/lead-lag-arb
[INFO] tweaked toml for git repo https://github.com/AkarSeviva/lead-lag-arb written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AkarSeviva/lead-lag-arb on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AkarSeviva/lead-lag-arb 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `dashmap`
[INFO] [stderr]   --> Cargo.toml:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | dashmap = "5.5"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `dashmap`
[INFO] [stderr] warning: unused workspace dependency `metrics`
[INFO] [stderr]   --> Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | metrics = "0.21"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `metrics`
[INFO] [stderr] warning: unused workspace dependency `ordered-float`
[INFO] [stderr]   --> Cargo.toml:43:25
[INFO] [stderr]    |
[INFO] [stderr] 43 | [workspace.dependencies.ordered-float]
[INFO] [stderr]    |                         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `ordered-float`
[INFO] [stderr] warning: unused workspace dependency `rust_decimal_macros`
[INFO] [stderr]   --> Cargo.toml:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | rust_decimal_macros = "1.34"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `rust_decimal_macros`
[INFO] [stderr] warning: unused workspace dependency `simd-json`
[INFO] [stderr]   --> Cargo.toml:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | simd-json = "0.13"
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `simd-json`
[INFO] [stderr] warning: unused workspace dependency `tracing-appender`
[INFO] [stderr]   --> Cargo.toml:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | tracing-appender = "0.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `tracing-appender`
[INFO] [stderr] warning: unused field `license` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:83:1
[INFO] [stderr]    |
[INFO] [stderr] 83 | license = "MIT"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.license`
[INFO] [stderr] warning: unused field `rust-version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:84:1
[INFO] [stderr]    |
[INFO] [stderr] 84 | rust-version = "1.86"
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the field `workspace.package.rust-version`
[INFO] [stderr] warning: workspace (manifest) generated 8 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63
[INFO] running `Command { std: "docker" "start" "967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `dashmap`
[INFO] [stderr]   --> Cargo.toml:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | dashmap = "5.5"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `dashmap`
[INFO] [stderr] warning: unused workspace dependency `metrics`
[INFO] [stderr]   --> Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | metrics = "0.21"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `metrics`
[INFO] [stderr] warning: unused workspace dependency `ordered-float`
[INFO] [stderr]   --> Cargo.toml:43:25
[INFO] [stderr]    |
[INFO] [stderr] 43 | [workspace.dependencies.ordered-float]
[INFO] [stderr]    |                         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `ordered-float`
[INFO] [stderr] warning: unused workspace dependency `rust_decimal_macros`
[INFO] [stderr]   --> Cargo.toml:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | rust_decimal_macros = "1.34"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `rust_decimal_macros`
[INFO] [stderr] warning: unused workspace dependency `simd-json`
[INFO] [stderr]   --> Cargo.toml:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | simd-json = "0.13"
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `simd-json`
[INFO] [stderr] warning: unused workspace dependency `tracing-appender`
[INFO] [stderr]   --> Cargo.toml:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | tracing-appender = "0.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `tracing-appender`
[INFO] [stderr] warning: unused field `license` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:83:1
[INFO] [stderr]    |
[INFO] [stderr] 83 | license = "MIT"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.license`
[INFO] [stderr] warning: unused field `rust-version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:84:1
[INFO] [stderr]    |
[INFO] [stderr] 84 | rust-version = "1.86"
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the field `workspace.package.rust-version`
[INFO] [stderr] warning: workspace (manifest) generated 8 warnings
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling cc v1.4.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rust_decimal v1.42.1
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking futures-io v0.3.33
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking compression-core v0.4.32
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking compression-codecs v0.4.38
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking arc-swap v1.9.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking uuid v1.24.0
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking async-compression v0.4.42
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking backoff v0.4.0
[INFO] [stderr]     Checking orderbook v0.1.0 (/opt/rustwide/workdir/crates/orderbook)
[INFO] [stderr]     Checking symbol-selector v0.1.0 (/opt/rustwide/workdir/crates/symbol-selector)
[INFO] [stderr]     Checking persistence v0.1.0 (/opt/rustwide/workdir/crates/persistence)
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> crates/persistence/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::mpsc;
[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: `tokio::sync::mpsc`
[INFO] [stdout]   --> crates/persistence/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]   --> crates/orderbook/src/book.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |             self.levels.remove(&price);
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]   --> crates/orderbook/src/book.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.levels.remove(price);
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> crates/orderbook/src/book.rs:116:49
[INFO] [stdout]     |
[INFO] [stdout] 116 |                     .filter_map(|k| self.levels.remove(&k))
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]   --> crates/orderbook/src/book.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |             self.levels.remove(&price);
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]   --> crates/orderbook/src/book.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.levels.remove(price);
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> crates/orderbook/src/book.rs:116:49
[INFO] [stdout]     |
[INFO] [stdout] 116 |                     .filter_map(|k| self.levels.remove(&k))
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking metrics v0.1.0 (/opt/rustwide/workdir/crates/metrics)
[INFO] [stdout] warning: unused import: `Histogram`
[INFO] [stdout]  --> crates/metrics/src/lib.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use prometheus::{Counter, Gauge, Histogram, Encoder, TextEncoder};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signals`, `execution`, `latency`, and `custom_gauges` are never read
[INFO] [stdout]   --> crates/metrics/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct MetricsRegistry {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 88 |     signals: SignalMetrics,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 89 |     execution: ExecutionMetrics,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 90 |     latency: LatencyMetrics,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 91 |     custom_gauges: RwLock<HashMap<String, f64>>,
[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 import: `Histogram`
[INFO] [stdout]  --> crates/metrics/src/lib.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use prometheus::{Counter, Gauge, Histogram, Encoder, TextEncoder};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signals`, `execution`, `latency`, and `custom_gauges` are never read
[INFO] [stdout]   --> crates/metrics/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct MetricsRegistry {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 88 |     signals: SignalMetrics,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 89 |     execution: ExecutionMetrics,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 90 |     latency: LatencyMetrics,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 91 |     custom_gauges: RwLock<HashMap<String, f64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking config v0.1.0 (/opt/rustwide/workdir/crates/config)
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking signal-engine v0.1.0 (/opt/rustwide/workdir/crates/signal-engine)
[INFO] [stderr]     Checking risk-gate v0.1.0 (/opt/rustwide/workdir/crates/risk-gate)
[INFO] [stderr]     Checking fee-pnl v0.1.0 (/opt/rustwide/workdir/crates/fee-pnl)
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> crates/risk-gate/src/gate.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::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 import: `tokio::sync::mpsc`
[INFO] [stdout]   --> crates/risk-gate/src/gate.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> crates/risk-gate/src/gate.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> crates/risk-gate/src/gate.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::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 import: `tokio::sync::mpsc`
[INFO] [stdout]   --> crates/risk-gate/src/gate.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> crates/risk-gate/src/gate.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArbitrageSignal`
[INFO] [stdout]  --> crates/signal-engine/src/context.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::signal::{ArbitrageSignal, SignalDirection, SpreadSnapshot};
[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: `chrono::Utc`
[INFO] [stdout]   --> crates/signal-engine/src/context.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> crates/signal-engine/src/state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/signal-engine/src/state.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> crates/signal-engine/src/state.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArbitrageSignal`
[INFO] [stdout]  --> crates/signal-engine/src/context.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::signal::{ArbitrageSignal, SignalDirection, SpreadSnapshot};
[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: `chrono::Utc`
[INFO] [stdout]   --> crates/signal-engine/src/context.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> crates/signal-engine/src/state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/signal-engine/src/state.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> crates/signal-engine/src/state.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> crates/signal-engine/src/filters.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn check(&self, ctx: &SignalContext) -> FilterResult {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_bps`
[INFO] [stdout]    --> crates/signal-engine/src/signal.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let current_bps = self.entry_spread_bps;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_bps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> crates/signal-engine/src/filters.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn check(&self, ctx: &SignalContext) -> FilterResult {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_bps`
[INFO] [stdout]    --> crates/signal-engine/src/signal.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let current_bps = self.entry_spread_bps;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_bps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking futures-executor v0.3.33
[INFO] [stderr]     Checking futures v0.3.33
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking exchange-adapter-binance v0.1.0 (/opt/rustwide/workdir/crates/exchange-adapter-binance)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/exchange-adapter-binance/src/market.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::Arc;
[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: `debug` and `warn`
[INFO] [stdout]   --> crates/exchange-adapter-binance/src/market.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/exchange-adapter-binance/src/market.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::Arc;
[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: `debug` and `warn`
[INFO] [stdout]   --> crates/exchange-adapter-binance/src/market.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking exchange-adapter-lbank v0.1.0 (/opt/rustwide/workdir/crates/exchange-adapter-lbank)
[INFO] [stderr]     Checking clock-sync v0.1.0 (/opt/rustwide/workdir/crates/clock-sync)
[INFO] [stdout] warning: unused import: `rust_decimal::Decimal`
[INFO] [stdout]  --> crates/clock-sync/src/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rust_decimal::Decimal;
[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: `tokio::sync::mpsc`
[INFO] [stdout]   --> crates/clock-sync/src/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_decimal::Decimal`
[INFO] [stdout]  --> crates/clock-sync/src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rust_decimal::Decimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_decimal::Decimal`
[INFO] [stdout]  --> crates/clock-sync/src/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rust_decimal::Decimal;
[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: `tokio::sync::mpsc`
[INFO] [stdout]   --> crates/clock-sync/src/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_decimal::Decimal`
[INFO] [stdout]  --> crates/clock-sync/src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rust_decimal::Decimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_time`
[INFO] [stdout]    --> crates/clock-sync/src/sync.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let server_time: i64 = match serde_json::from_str::<serde_json::Value>(&body) {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_time`
[INFO] [stdout]    --> crates/clock-sync/src/sync.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let server_time: i64 = match serde_json::from_str::<serde_json::Value>(&body) {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body_str`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/client.rs:599:13
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let body_str = serde_json::to_string(&req)?;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_str`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body_str`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/client.rs:599:13
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let body_str = serde_json::to_string(&req)?;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_str`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TradeCacheEntry` is more private than the item `ws_event_to_market_event`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/market.rs:212:1
[INFO] [stdout]     |
[INFO] [stdout] 212 | / pub fn ws_event_to_market_event(
[INFO] [stdout] 213 | |     exchange: &'static str,
[INFO] [stdout] 214 | |     event: WsEvent,
[INFO] [stdout] 215 | |     trade_cache: &Arc<RwLock<Vec<TradeCacheEntry>>>,
[INFO] [stdout] 216 | | ) -> Option<MarketEvent> {
[INFO] [stdout]     | |________________________^ function `ws_event_to_market_event` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TradeCacheEntry` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/market.rs:71:1
[INFO] [stdout]     |
[INFO] [stdout]  71 | struct TradeCacheEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `price`, `volume`, `side`, and `timestamp` are never read
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/market.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct TradeCacheEntry {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 72 |     symbol: String,
[INFO] [stdout] 73 |     price: Decimal,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 74 |     volume: Decimal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     side: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 76 |     timestamp: i64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOPIC_KLINE` is never used
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/ws.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const TOPIC_KLINE: i64 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOPIC_ACCOUNT` is never used
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/ws.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const TOPIC_ACCOUNT: i64 = 11;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_TYPE_UNSUB` is never used
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/ws.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const MSG_TYPE_UNSUB: i64 = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tsn` is never read
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | struct WsIncomingMessage {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     tsn: Option<String>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WsIncomingMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubscribeRequest` is never constructed
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | struct SubscribeRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubscribeParam` is never constructed
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 | struct SubscribeParam {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnsubscribeRequest` is never constructed
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | struct UnsubscribeRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_tsn` and `make_topic_tsn` are never used
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | impl LbankWebSocket {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn next_tsn(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn make_topic_tsn(&self, topic: i64) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:382:66
[INFO] [stdout]     |
[INFO] [stdout] 382 |                         if let Err(e) = write.send(Message::Text(auth_msg.to_string().into())).await {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 382 -                         if let Err(e) = write.send(Message::Text(auth_msg.to_string().into())).await {
[INFO] [stdout] 382 +                         if let Err(e) = write.send(Message::Text(auth_msg.to_string())).await {
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 382 -                         if let Err(e) = write.send(Message::Text(auth_msg.to_string().into())).await {
[INFO] [stdout] 382 +                         if let Err(e) = write.send(Message::Text(<std::string::String as Into<_>>::into(auth_msg.to_string()))).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:488:50
[INFO] [stdout]     |
[INFO] [stdout] 488 |         if let Err(_) = write.send(Message::Text(sub_msg.to_string().into())).await {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 488 -         if let Err(_) = write.send(Message::Text(sub_msg.to_string().into())).await {
[INFO] [stdout] 488 +         if let Err(_) = write.send(Message::Text(sub_msg.to_string())).await {
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 488 -         if let Err(_) = write.send(Message::Text(sub_msg.to_string().into())).await {
[INFO] [stdout] 488 +         if let Err(_) = write.send(Message::Text(<std::string::String as Into<_>>::into(sub_msg.to_string()))).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exchange-adapter-lbank` (lib test) due to 2 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: type `TradeCacheEntry` is more private than the item `ws_event_to_market_event`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/market.rs:212:1
[INFO] [stdout]     |
[INFO] [stdout] 212 | / pub fn ws_event_to_market_event(
[INFO] [stdout] 213 | |     exchange: &'static str,
[INFO] [stdout] 214 | |     event: WsEvent,
[INFO] [stdout] 215 | |     trade_cache: &Arc<RwLock<Vec<TradeCacheEntry>>>,
[INFO] [stdout] 216 | | ) -> Option<MarketEvent> {
[INFO] [stdout]     | |________________________^ function `ws_event_to_market_event` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TradeCacheEntry` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/market.rs:71:1
[INFO] [stdout]     |
[INFO] [stdout]  71 | struct TradeCacheEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `price`, `volume`, `side`, and `timestamp` are never read
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/market.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct TradeCacheEntry {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 72 |     symbol: String,
[INFO] [stdout] 73 |     price: Decimal,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 74 |     volume: Decimal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     side: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 76 |     timestamp: i64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOPIC_KLINE` is never used
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/ws.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const TOPIC_KLINE: i64 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOPIC_ACCOUNT` is never used
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/ws.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const TOPIC_ACCOUNT: i64 = 11;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_TYPE_UNSUB` is never used
[INFO] [stdout]   --> crates/exchange-adapter-lbank/src/ws.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const MSG_TYPE_UNSUB: i64 = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tsn` is never read
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | struct WsIncomingMessage {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     tsn: Option<String>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WsIncomingMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubscribeRequest` is never constructed
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | struct SubscribeRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubscribeParam` is never constructed
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 | struct SubscribeParam {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnsubscribeRequest` is never constructed
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | struct UnsubscribeRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_tsn` and `make_topic_tsn` are never used
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | impl LbankWebSocket {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn next_tsn(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn make_topic_tsn(&self, topic: i64) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:382:66
[INFO] [stdout]     |
[INFO] [stdout] 382 |                         if let Err(e) = write.send(Message::Text(auth_msg.to_string().into())).await {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 382 -                         if let Err(e) = write.send(Message::Text(auth_msg.to_string().into())).await {
[INFO] [stdout] 382 +                         if let Err(e) = write.send(Message::Text(auth_msg.to_string())).await {
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 382 -                         if let Err(e) = write.send(Message::Text(auth_msg.to_string().into())).await {
[INFO] [stdout] 382 +                         if let Err(e) = write.send(Message::Text(<std::string::String as Into<_>>::into(auth_msg.to_string()))).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/exchange-adapter-lbank/src/ws.rs:488:50
[INFO] [stdout]     |
[INFO] [stdout] 488 |         if let Err(_) = write.send(Message::Text(sub_msg.to_string().into())).await {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 488 -         if let Err(_) = write.send(Message::Text(sub_msg.to_string().into())).await {
[INFO] [stdout] 488 +         if let Err(_) = write.send(Message::Text(sub_msg.to_string())).await {
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 488 -         if let Err(_) = write.send(Message::Text(sub_msg.to_string().into())).await {
[INFO] [stdout] 488 +         if let Err(_) = write.send(Message::Text(<std::string::String as Into<_>>::into(sub_msg.to_string()))).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exchange-adapter-lbank` (lib) due to 2 previous errors; 11 warnings emitted
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> crates/clock-sync/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: `clock-sync` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> crates/config/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: unused dependency `toml`
[INFO] [stderr]  --> crates/config/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | toml = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `toml`
[INFO] [stderr] warning: unused dependency `tracing`
[INFO] [stderr]   --> crates/config/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | tracing = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing`
[INFO] [stderr] warning: `config` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `chrono`
[INFO] [stderr]   --> crates/exchange-adapter-binance/Cargo.toml:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | chrono = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `chrono`
[INFO] [stderr] warning: unused dependency `uuid`
[INFO] [stderr]   --> crates/exchange-adapter-binance/Cargo.toml:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | uuid = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `uuid`
[INFO] [stderr] warning: `exchange-adapter-binance` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `time`
[INFO] [stderr]   --> crates/exchange-adapter-lbank/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | time = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `time`
[INFO] [stderr] warning: `exchange-adapter-lbank` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `config`
[INFO] [stderr]   --> crates/fee-pnl/Cargo.toml:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | config = { path = "../config" }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `config`
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> crates/fee-pnl/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | serde_json = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> crates/fee-pnl/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `tokio`
[INFO] [stderr]   --> crates/fee-pnl/Cargo.toml:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | tokio = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tokio`
[INFO] [stderr] warning: `fee-pnl` (manifest) generated 4 warnings
[INFO] [stderr] warning: unused dependency `serde`
[INFO] [stderr]  --> crates/metrics/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | serde = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde`
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> crates/metrics/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | serde_json = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: unused dependency `tracing`
[INFO] [stderr]   --> crates/metrics/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | tracing = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing`
[INFO] [stderr] warning: `metrics` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> crates/orderbook/Cargo.toml:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> crates/orderbook/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | serde_json = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> crates/orderbook/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `tokio`
[INFO] [stderr]  --> crates/orderbook/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | tokio = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `tokio`
[INFO] [stderr] warning: unused dependency `tokio`
[INFO] [stderr]   --> crates/orderbook/Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | tokio = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tokio`
[INFO] [stderr] warning: unused dependency `tracing`
[INFO] [stderr]   --> crates/orderbook/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | tracing = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing`
[INFO] [stderr] warning: `orderbook` (manifest) generated 6 warnings
[INFO] [stderr] warning: unused dependency `chrono`
[INFO] [stderr]  --> crates/persistence/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | chrono = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `chrono`
[INFO] [stderr] warning: unused dependency `tracing`
[INFO] [stderr]   --> crates/persistence/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | tracing = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing`
[INFO] [stderr] warning: `persistence` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> crates/risk-gate/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | serde_json = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> crates/risk-gate/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: `risk-gate` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `config`
[INFO] [stderr]   --> crates/signal-engine/Cargo.toml:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | config = { path = "../config" }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `config`
[INFO] [stderr] warning: `signal-engine` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> crates/symbol-selector/Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]   --> crates/symbol-selector/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | serde_json = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> crates/symbol-selector/Cargo.toml:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: `symbol-selector` (manifest) generated 3 warnings
[INFO] running `Command { std: "docker" "inspect" "967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63", kill_on_drop: false }`
[INFO] [stdout] 967f67b17f13e75630f38f0cb874b8c7fad3dca35581d9e0010d40b5d698ff63
