[INFO] cloning repository https://github.com/NamanTanwar/Algo-trading-platform
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NamanTanwar/Algo-trading-platform" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNamanTanwar%2FAlgo-trading-platform", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNamanTanwar%2FAlgo-trading-platform'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0ab78b74263eca8630e54fd2f417b5cd82cc7407
[INFO] checking NamanTanwar/Algo-trading-platform against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNamanTanwar%2FAlgo-trading-platform" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/NamanTanwar/Algo-trading-platform
[INFO] finished tweaking git repo https://github.com/NamanTanwar/Algo-trading-platform
[INFO] tweaked toml for git repo https://github.com/NamanTanwar/Algo-trading-platform written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NamanTanwar/Algo-trading-platform on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NamanTanwar/Algo-trading-platform 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6
[INFO] running `Command { std: "docker" "start" "5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6", 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" "5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6", 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" "5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling rust_decimal v1.41.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking deadpool v0.12.3
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking core_types v0.1.0 (/opt/rustwide/workdir/crates/core_types)
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> crates/core_types/src/candle.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{DateTime, Datelike, Duration, NaiveDate, Timelike, Utc};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking wiremock v0.6.5
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking broker_adapter v0.1.0 (/opt/rustwide/workdir/crates/broker_adapter)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> crates/broker_adapter/src/gateway.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fee_model::{self, FeeModel};
[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: `self`
[INFO] [stdout]  --> crates/broker_adapter/src/gateway.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::rate_limiter::{self, RateLimiter};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> crates/broker_adapter/src/gateway.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::symbol_mapper::{self, SymbolMapper};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `csv::ReaderBuilder`
[INFO] [stdout]  --> crates/broker_adapter/src/symbol_mapper.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use csv::ReaderBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Client`
[INFO] [stdout]  --> crates/broker_adapter/src/symbol_mapper.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> crates/broker_adapter/src/symbol_mapper.rs:69:56
[INFO] [stdout]    |
[INFO] [stdout] 69 |             .ok_or_else(|| BrokerError::SymbolNotFound((symbol.clone())))
[INFO] [stdout]    |                                                        ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -             .ok_or_else(|| BrokerError::SymbolNotFound((symbol.clone())))
[INFO] [stdout] 69 +             .ok_or_else(|| BrokerError::SymbolNotFound(symbol.clone()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BrokerOrderId` and `BrokerToken`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core_types::symbol::{BrokerOrderId, BrokerToken};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BrokerBalance`, `BrokerOrderPayload`, `BrokerOrder`, `BrokerPosition`, `OrderModification`, `OrderUpdateStream`, and `TickStream`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BrokerAdapter, BrokerBalance, BrokerOrder, BrokerOrderPayload, BrokerPosition,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     OrderModification, OrderUpdateStream, TickStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> crates/broker_adapter/src/gateway.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fee_model::{self, FeeModel};
[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: `self`
[INFO] [stdout]  --> crates/broker_adapter/src/gateway.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::rate_limiter::{self, RateLimiter};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> crates/broker_adapter/src/gateway.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::symbol_mapper::{self, SymbolMapper};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `csv::ReaderBuilder`
[INFO] [stdout]  --> crates/broker_adapter/src/symbol_mapper.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use csv::ReaderBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Client`
[INFO] [stdout]  --> crates/broker_adapter/src/symbol_mapper.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> crates/broker_adapter/src/symbol_mapper.rs:69:56
[INFO] [stdout]    |
[INFO] [stdout] 69 |             .ok_or_else(|| BrokerError::SymbolNotFound((symbol.clone())))
[INFO] [stdout]    |                                                        ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -             .ok_or_else(|| BrokerError::SymbolNotFound((symbol.clone())))
[INFO] [stdout] 69 +             .ok_or_else(|| BrokerError::SymbolNotFound(symbol.clone()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BrokerOrderId` and `BrokerToken`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core_types::symbol::{BrokerOrderId, BrokerToken};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BrokerBalance`, `BrokerOrderPayload`, `BrokerOrder`, `BrokerPosition`, `OrderModification`, `OrderUpdateStream`, and `TickStream`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BrokerAdapter, BrokerBalance, BrokerOrder, BrokerOrderPayload, BrokerPosition,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     OrderModification, OrderUpdateStream, TickStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `disconnect`, `subscribe`, `unsubscribe`, `tick_stream`, `place_order`, `cancel_order`, `modify_order`, `get_positions`, `get_orders`, `get_balance`, `order_update_stream`, `broker_name`, `is_connected`
[INFO] [stdout]    --> crates/broker_adapter/src/zerodha.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 |   impl BrokerAdapter for ZerodhaAdapter {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `disconnect`, `subscribe`, `unsubscribe`, `tick_stream`, `place_order`, `cancel_order`, `modify_order`, `get_positions`, `get_orders`, `get_balance`, `order_update_stream`, `broker_name`, `is_connected` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/broker_adapter/src/trait_def.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |       async fn disconnect(&self) -> Result<(), BrokerError>;
[INFO] [stdout]     |       ------------------------------------------------------ `disconnect` from trait
[INFO] [stdout] ...
[INFO] [stdout]  22 |       async fn subscribe(&self, tokens: Vec<BrokerToken>) -> Result<(), BrokerError>;
[INFO] [stdout]     |       ------------------------------------------------------------------------------- `subscribe` from trait
[INFO] [stdout]  23 |       async fn unsubscribe(&self, tokens: Vec<BrokerToken>) -> Result<(), BrokerError>;
[INFO] [stdout]     |       --------------------------------------------------------------------------------- `unsubscribe` from trait
[INFO] [stdout]  24 |       fn tick_stream(&self) -> TickStream;
[INFO] [stdout]     |       ------------------------------------ `tick_stream` from trait
[INFO] [stdout] ...
[INFO] [stdout]  27 |       async fn place_order(&self, payload: BrokerOrderPayload) -> Result<BrokerOrderId, BrokerError>;
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------- `place_order` from trait
[INFO] [stdout]  28 |       async fn cancel_order(&self, id: &BrokerOrderId) -> Result<(), BrokerError>;
[INFO] [stdout]     |       ---------------------------------------------------------------------------- `cancel_order` from trait
[INFO] [stdout]  29 | /     async fn modify_order(
[INFO] [stdout]  30 | |         &self,
[INFO] [stdout]  31 | |         id: &BrokerOrderId,
[INFO] [stdout]  32 | |         changes: OrderModification,
[INFO] [stdout]  33 | |     ) -> Result<(), BrokerError>;
[INFO] [stdout]     | |_________________________________- `modify_order` from trait
[INFO] [stdout] ...
[INFO] [stdout]  36 |       async fn get_positions(&self) -> Result<Vec<BrokerPosition>, BrokerError>;
[INFO] [stdout]     |       -------------------------------------------------------------------------- `get_positions` from trait
[INFO] [stdout]  37 |       async fn get_orders(&self) -> Result<Vec<BrokerOrder>, BrokerError>;
[INFO] [stdout]     |       -------------------------------------------------------------------- `get_orders` from trait
[INFO] [stdout]  38 |       async fn get_balance(&self) -> Result<BrokerBalance, BrokerError>;
[INFO] [stdout]     |       ------------------------------------------------------------------ `get_balance` from trait
[INFO] [stdout] ...
[INFO] [stdout]  41 |       fn order_update_stream(&self) -> OrderUpdateStream;
[INFO] [stdout]     |       --------------------------------------------------- `order_update_stream` from trait
[INFO] [stdout] ...
[INFO] [stdout]  44 |       fn broker_name(&self) -> &'static str;
[INFO] [stdout]     |       -------------------------------------- `broker_name` from trait
[INFO] [stdout]  45 |       fn is_connected(&self) -> bool;
[INFO] [stdout]     |       ------------------------------- `is_connected` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `disconnect`, `subscribe`, `unsubscribe`, `tick_stream`, `place_order`, `cancel_order`, `modify_order`, `get_positions`, `get_orders`, `get_balance`, `order_update_stream`, `broker_name`, `is_connected`
[INFO] [stdout]    --> crates/broker_adapter/src/zerodha.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 |   impl BrokerAdapter for ZerodhaAdapter {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `disconnect`, `subscribe`, `unsubscribe`, `tick_stream`, `place_order`, `cancel_order`, `modify_order`, `get_positions`, `get_orders`, `get_balance`, `order_update_stream`, `broker_name`, `is_connected` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/broker_adapter/src/trait_def.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |       async fn disconnect(&self) -> Result<(), BrokerError>;
[INFO] [stdout]     |       ------------------------------------------------------ `disconnect` from trait
[INFO] [stdout] ...
[INFO] [stdout]  22 |       async fn subscribe(&self, tokens: Vec<BrokerToken>) -> Result<(), BrokerError>;
[INFO] [stdout]     |       ------------------------------------------------------------------------------- `subscribe` from trait
[INFO] [stdout]  23 |       async fn unsubscribe(&self, tokens: Vec<BrokerToken>) -> Result<(), BrokerError>;
[INFO] [stdout]     |       --------------------------------------------------------------------------------- `unsubscribe` from trait
[INFO] [stdout]  24 |       fn tick_stream(&self) -> TickStream;
[INFO] [stdout]     |       ------------------------------------ `tick_stream` from trait
[INFO] [stdout] ...
[INFO] [stdout]  27 |       async fn place_order(&self, payload: BrokerOrderPayload) -> Result<BrokerOrderId, BrokerError>;
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------- `place_order` from trait
[INFO] [stdout]  28 |       async fn cancel_order(&self, id: &BrokerOrderId) -> Result<(), BrokerError>;
[INFO] [stdout]     |       ---------------------------------------------------------------------------- `cancel_order` from trait
[INFO] [stdout]  29 | /     async fn modify_order(
[INFO] [stdout]  30 | |         &self,
[INFO] [stdout]  31 | |         id: &BrokerOrderId,
[INFO] [stdout]  32 | |         changes: OrderModification,
[INFO] [stdout]  33 | |     ) -> Result<(), BrokerError>;
[INFO] [stdout]     | |_________________________________- `modify_order` from trait
[INFO] [stdout] ...
[INFO] [stdout]  36 |       async fn get_positions(&self) -> Result<Vec<BrokerPosition>, BrokerError>;
[INFO] [stdout]     |       -------------------------------------------------------------------------- `get_positions` from trait
[INFO] [stdout]  37 |       async fn get_orders(&self) -> Result<Vec<BrokerOrder>, BrokerError>;
[INFO] [stdout]     |       -------------------------------------------------------------------- `get_orders` from trait
[INFO] [stdout]  38 |       async fn get_balance(&self) -> Result<BrokerBalance, BrokerError>;
[INFO] [stdout]     |       ------------------------------------------------------------------ `get_balance` from trait
[INFO] [stdout] ...
[INFO] [stdout]  41 |       fn order_update_stream(&self) -> OrderUpdateStream;
[INFO] [stdout]     |       --------------------------------------------------- `order_update_stream` from trait
[INFO] [stdout] ...
[INFO] [stdout]  44 |       fn broker_name(&self) -> &'static str;
[INFO] [stdout]     |       -------------------------------------- `broker_name` from trait
[INFO] [stdout]  45 |       fn is_connected(&self) -> bool;
[INFO] [stdout]     |       ------------------------------- `is_connected` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `{closure@zerodha.rs:92:17}: Handler<(ViaParts, Query<_>), ()>` is not satisfied
[INFO] [stdout]    --> crates/broker_adapter/src/zerodha.rs:92:17
[INFO] [stdout]     |
[INFO] [stdout]  92 |               get(move |Query(params): Query<HashMap<String, String>>| {
[INFO] [stdout]     |  _____________---_^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             required by a bound introduced by this call
[INFO] [stdout]  93 | |                 let tx = tx.lock().unwrap().take();
[INFO] [stdout]  94 | |                 async move {
[INFO] [stdout]  95 | |                     if let Some(token) = params.get("request_token") {
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |             }),
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Handler<(axum_core::extract::private::ViaParts, Query<HashMap<std::string::String, std::string::String>>), ()>` is not implemented for closure `{closure@crates/broker_adapter/src/zerodha.rs:92:17: 92:69}`
[INFO] [stdout]     = note: Consider using `#[axum::debug_handler]` to improve the error message
[INFO] [stdout] note: required by a bound in `axum::routing::get`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.8.9/src/routing/method_routing.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |             H: Handler<T, S>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^ required by this bound in `get`
[INFO] [stdout] ...
[INFO] [stdout] 441 | top_level_handler_fn!(get, GET);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/broker_adapter/6e6f660e920e8abe/out/broker_adapter-6e6f660e920e8abe.long-type-10176977291171510406.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mapper`
[INFO] [stdout]    --> crates/broker_adapter/src/gateway.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         mapper: Arc<SymbolMapper>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapper`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_map`
[INFO] [stdout]    --> crates/broker_adapter/src/gateway.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         order_map: Arc<RwLock<HashMap<BrokerOrderId, OrderId>>>,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `{closure@zerodha.rs:92:17}: Handler<(ViaParts, Query<_>), ()>` is not satisfied
[INFO] [stdout]    --> crates/broker_adapter/src/zerodha.rs:92:17
[INFO] [stdout]     |
[INFO] [stdout]  92 |               get(move |Query(params): Query<HashMap<String, String>>| {
[INFO] [stdout]     |  _____________---_^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             required by a bound introduced by this call
[INFO] [stdout]  93 | |                 let tx = tx.lock().unwrap().take();
[INFO] [stdout]  94 | |                 async move {
[INFO] [stdout]  95 | |                     if let Some(token) = params.get("request_token") {
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |             }),
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Handler<(axum_core::extract::private::ViaParts, Query<HashMap<std::string::String, std::string::String>>), ()>` is not implemented for closure `{closure@crates/broker_adapter/src/zerodha.rs:92:17: 92:69}`
[INFO] [stdout]     = note: Consider using `#[axum::debug_handler]` to improve the error message
[INFO] [stdout] note: required by a bound in `axum::routing::get`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.8.9/src/routing/method_routing.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |             H: Handler<T, S>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^ required by this bound in `get`
[INFO] [stdout] ...
[INFO] [stdout] 441 | top_level_handler_fn!(get, GET);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/broker_adapter/00701ac0ae3e1a98/out/broker_adapter-00701ac0ae3e1a98.long-type-11524329562567269238.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `broker_adapter` (lib test) due to 2 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> crates/broker_adapter/src/zerodha.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mapper`
[INFO] [stdout]    --> crates/broker_adapter/src/gateway.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         mapper: Arc<SymbolMapper>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapper`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_map`
[INFO] [stdout]    --> crates/broker_adapter/src/gateway.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         order_map: Arc<RwLock<HashMap<BrokerOrderId, OrderId>>>,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `broker_adapter` (lib) due to 2 previous errors; 12 warnings emitted
[INFO] [stderr] warning: unused dependency `tokio-tungstenite`
[INFO] [stderr]   --> crates/broker_adapter/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | tokio-tungstenite = { version = "0.24", features = ["native-tls"] }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `tokio-tungstenite`
[INFO] [stderr] warning: `broker_adapter` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6", kill_on_drop: false }`
[INFO] [stdout] 5ab2defec645d10b8d0e6c2e493c173833e1ada9469e82d55befc24378efa0d6
