[INFO] cloning repository https://github.com/mateusz-szczyrzyca/price-volatility-trading-bot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mateusz-szczyrzyca/price-volatility-trading-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmateusz-szczyrzyca%2Fprice-volatility-trading-bot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmateusz-szczyrzyca%2Fprice-volatility-trading-bot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99be75d819fb72b271340de1a9efb9b78671ae7c
[INFO] checking mateusz-szczyrzyca/price-volatility-trading-bot against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmateusz-szczyrzyca%2Fprice-volatility-trading-bot" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mateusz-szczyrzyca/price-volatility-trading-bot
[INFO] finished tweaking git repo https://github.com/mateusz-szczyrzyca/price-volatility-trading-bot
[INFO] tweaked toml for git repo https://github.com/mateusz-szczyrzyca/price-volatility-trading-bot written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mateusz-szczyrzyca/price-volatility-trading-bot on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mateusz-szczyrzyca/price-volatility-trading-bot 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1eb9a1effb1b06fcdb4bf75d8ea1f6fd4854cab763792235fbc2670fc5230706
[INFO] running `Command { std: "docker" "start" "-a" "1eb9a1effb1b06fcdb4bf75d8ea1f6fd4854cab763792235fbc2670fc5230706", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1eb9a1effb1b06fcdb4bf75d8ea1f6fd4854cab763792235fbc2670fc5230706", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1eb9a1effb1b06fcdb4bf75d8ea1f6fd4854cab763792235fbc2670fc5230706", kill_on_drop: false }`
[INFO] [stdout] 1eb9a1effb1b06fcdb4bf75d8ea1f6fd4854cab763792235fbc2670fc5230706
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2bbd2cbcce68fb4664760755611b40e94a5c5b6dad65246cb8f5840bc9f58e3c
[INFO] running `Command { std: "docker" "start" "-a" "2bbd2cbcce68fb4664760755611b40e94a5c5b6dad65246cb8f5840bc9f58e3c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.76
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling syn v1.0.105
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking itoa v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.5
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling cc v1.0.78
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling openssl v0.10.44
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]     Checking ryu v1.0.11
[INFO] [stderr]     Checking futures-io v0.3.25
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]    Compiling futures-channel v0.3.25
[INFO] [stderr]     Checking futures-sink v0.3.25
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking http v0.2.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling io-lifetimes v1.0.3
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling thiserror v1.0.37
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking cpufeatures v0.2.5
[INFO] [stderr]    Compiling rustix v0.36.5
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking anstyle v1.0.4
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking anstream v0.6.7
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]     Checking strsim v0.11.0
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]    Compiling rust_decimal v1.33.1
[INFO] [stderr]    Compiling anyhow v1.0.68
[INFO] [stderr]     Checking linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling rustversion v1.0.9
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]    Compiling openssl-sys v0.9.79
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]     Checking ordered-float v2.10.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.3
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking num_cpus v1.14.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]     Checking indexmap v2.1.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking winnow v0.5.34
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking iana-time-zone v0.1.53
[INFO] [stderr]     Checking data-encoding v2.5.0
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]     Checking ipnet v2.7.0
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking thread-id v4.0.0
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking regex v1.7.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking arc-swap v1.5.1
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]    Compiling rust_decimal_macros v1.33.1
[INFO] [stderr]     Checking is-terminal v0.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]     Checking tokio-util v0.7.4
[INFO] [stderr]     Checking h2 v0.3.15
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_datetime v0.6.5
[INFO] [stderr]     Checking serde_spanned v0.6.5
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking serde_yaml v0.8.26
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking env_logger v0.10.1
[INFO] [stderr]     Checking toml_edit v0.21.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking log4rs v1.2.0
[INFO] [stderr]     Checking hyper v0.14.23
[INFO] [stderr]     Checking toml v0.8.8
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking binance v0.21.0
[INFO] [stderr]     Checking price-volatility-trading-bot v0.9.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `RefCell`
[INFO] [stdout]  --> src/binance/symbols_monitor.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cell::{Cell, RefCell};
[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: `std::ops::Not`
[INFO] [stdout]   --> src/binance/symbols_monitor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ops::Not;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefCell`
[INFO] [stdout]  --> src/binance/symbols_monitor.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cell::{Cell, RefCell};
[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: `std::ops::Not`
[INFO] [stdout]   --> src/binance/symbols_monitor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ops::Not;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_key`
[INFO] [stdout]   --> src/binance/orderbook.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let (api_key, secret_key) = api_keys.clone();
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `secret_key`
[INFO] [stdout]   --> src/binance/orderbook.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let (api_key, secret_key) = api_keys.clone();
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 | ...                   let mut pre_window_divider_start = 0;
[INFO] [stdout]     |                           ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:372:29
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         let key = format!("{}{}", k, v);
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/binance/trading.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     config: &ConfigStruct,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriceAPIResponse` is never constructed
[INFO] [stdout]  --> src/binance/prices.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct PriceAPIResponse {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinanceSymbol` is never constructed
[INFO] [stdout]  --> src/binance/symbols.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BinanceSymbol {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]   --> src/binance/symbols.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Filter {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `price_is_constantly_rising` is never used
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn price_is_constantly_rising(list: Vec<Decimal>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sorted` is never used
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn is_sorted<T>(data: Vec<Decimal>) -> bool
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/config/settings.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ConfigSymbolMonitor {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 25 |     pub symbol_price_list_length: usize,
[INFO] [stdout] 26 |     pub symbol_price_trigger_percent_value_rise_min: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub symbol_price_trigger_percent_value_rise_max: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub symbol_price_trigger_percent_value_drop: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub symbol_price_trigger_time_period_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub symbol_price_trigger_count_within_period: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub symbol_stat_list_len: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub symbol_stat_list_display_period_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigSymbolMonitor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `acceptable_liquidity_count`, `ultimate_time_limit_enabled`, `ultimate_time_limit_secs`, and `ultimate_time_limit_profit_percent` are never read
[INFO] [stdout]   --> src/config/settings.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ConfigOrderBookMonitor {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub acceptable_liquidity_count: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub ultimate_time_limit_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub ultimate_time_limit_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     pub ultimate_time_limit_profit_percent: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigOrderBookMonitor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonInterface` is never used
[INFO] [stdout]   --> src/core/json.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait JsonInterface {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `best_price_now` and `monitored_price` are never read
[INFO] [stdout]   --> src/core/trading.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TradingSymbol {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub best_price_now: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub monitored_price: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TradingSymbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmptyAsset` is never constructed
[INFO] [stdout]   --> src/core/types.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct EmptyAsset(pub String);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Trading` is never used
[INFO] [stdout]   --> src/core/types.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum Trading {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Exchange` is never used
[INFO] [stdout]  --> src/exchange.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Exchange {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/core/pre_window_monitor.rs:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 |     new_symbols_pre_window_map.insert(symbol.parse().unwrap(), percent_change_pre_window);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/core/window_monitor.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     new_symbols_window_map.insert(symbol.parse().unwrap(), percent_change_window);
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/core/post_window_monitor.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     new_symbols_post_window_map.insert(symbol.parse().unwrap(), percent_change_post_window);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `price-volatility-trading-bot` (bin "price-volatility-trading-bot") due to 3 previous errors; 19 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `api_key`
[INFO] [stdout]   --> src/binance/orderbook.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let (api_key, secret_key) = api_keys.clone();
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `secret_key`
[INFO] [stdout]   --> src/binance/orderbook.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let (api_key, secret_key) = api_keys.clone();
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 | ...                   let mut pre_window_divider_start = 0;
[INFO] [stdout]     |                           ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:372:29
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         let key = format!("{}{}", k, v);
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/binance/trading.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     config: &ConfigStruct,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriceAPIResponse` is never constructed
[INFO] [stdout]  --> src/binance/prices.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct PriceAPIResponse {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinanceSymbol` is never constructed
[INFO] [stdout]  --> src/binance/symbols.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BinanceSymbol {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]   --> src/binance/symbols.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Filter {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `price_is_constantly_rising` is never used
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn price_is_constantly_rising(list: Vec<Decimal>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sorted` is never used
[INFO] [stdout]    --> src/binance/symbols_monitor.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn is_sorted<T>(data: Vec<Decimal>) -> bool
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/config/settings.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ConfigSymbolMonitor {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 25 |     pub symbol_price_list_length: usize,
[INFO] [stdout] 26 |     pub symbol_price_trigger_percent_value_rise_min: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub symbol_price_trigger_percent_value_rise_max: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub symbol_price_trigger_percent_value_drop: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub symbol_price_trigger_time_period_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub symbol_price_trigger_count_within_period: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub symbol_stat_list_len: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub symbol_stat_list_display_period_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigSymbolMonitor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `acceptable_liquidity_count`, `ultimate_time_limit_enabled`, `ultimate_time_limit_secs`, and `ultimate_time_limit_profit_percent` are never read
[INFO] [stdout]   --> src/config/settings.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ConfigOrderBookMonitor {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub acceptable_liquidity_count: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub ultimate_time_limit_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub ultimate_time_limit_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     pub ultimate_time_limit_profit_percent: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigOrderBookMonitor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonInterface` is never used
[INFO] [stdout]   --> src/core/json.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait JsonInterface {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `best_price_now` and `monitored_price` are never read
[INFO] [stdout]   --> src/core/trading.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TradingSymbol {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub best_price_now: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub monitored_price: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TradingSymbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmptyAsset` is never constructed
[INFO] [stdout]   --> src/core/types.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct EmptyAsset(pub String);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Trading` is never used
[INFO] [stdout]   --> src/core/types.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum Trading {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Exchange` is never used
[INFO] [stdout]  --> src/exchange.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Exchange {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/core/pre_window_monitor.rs:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 |     new_symbols_pre_window_map.insert(symbol.parse().unwrap(), percent_change_pre_window);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/core/window_monitor.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     new_symbols_window_map.insert(symbol.parse().unwrap(), percent_change_window);
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/core/post_window_monitor.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     new_symbols_post_window_map.insert(symbol.parse().unwrap(), percent_change_post_window);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `price-volatility-trading-bot` (bin "price-volatility-trading-bot" test) due to 3 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2bbd2cbcce68fb4664760755611b40e94a5c5b6dad65246cb8f5840bc9f58e3c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2bbd2cbcce68fb4664760755611b40e94a5c5b6dad65246cb8f5840bc9f58e3c", kill_on_drop: false }`
[INFO] [stdout] 2bbd2cbcce68fb4664760755611b40e94a5c5b6dad65246cb8f5840bc9f58e3c
