[INFO] cloning repository https://github.com/kukuhtw/dma_bot_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kukuhtw/dma_bot_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkukuhtw%2Fdma_bot_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkukuhtw%2Fdma_bot_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b8233e317da32b0adad0fdcb6e95d06f28e8c0ab
[INFO] testing kukuhtw/dma_bot_rust against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkukuhtw%2Fdma_bot_rust" "/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/kukuhtw/dma_bot_rust
[INFO] finished tweaking git repo https://github.com/kukuhtw/dma_bot_rust
[INFO] tweaked toml for git repo https://github.com/kukuhtw/dma_bot_rust written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kukuhtw/dma_bot_rust on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kukuhtw/dma_bot_rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dbc9e0733812a6e88e342dbde540e688bd3bc947ff396cde98324a94b03c894d
[INFO] running `Command { std: "docker" "start" "-a" "dbc9e0733812a6e88e342dbde540e688bd3bc947ff396cde98324a94b03c894d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dbc9e0733812a6e88e342dbde540e688bd3bc947ff396cde98324a94b03c894d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbc9e0733812a6e88e342dbde540e688bd3bc947ff396cde98324a94b03c894d", kill_on_drop: false }`
[INFO] [stdout] dbc9e0733812a6e88e342dbde540e688bd3bc947ff396cde98324a94b03c894d
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9210b83207596674880ddb9b42577e101d2c3953b46ee6e1064ba7855205bfeb
[INFO] running `Command { std: "docker" "start" "-a" "9210b83207596674880ddb9b42577e101d2c3953b46ee6e1064ba7855205bfeb", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling indexmap v2.11.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-rustls v0.25.0
[INFO] [stderr]    Compiling tungstenite v0.21.0
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tokio-tungstenite v0.21.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling dma_bot_rust v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let mut pos_map = pos_txs;
[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: field `data_source` is never read
[INFO] [stdout]    --> src/config.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct Args {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 105 |     // symbol
[INFO] [stdout] 106 |     pub data_source: String, // legacy; tidak wajib digunakan
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Args` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `qty` is never read
[INFO] [stdout]   --> src/risk.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Positions {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 24 |     pub qty: i64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Positions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inv_target` is never read
[INFO] [stdout]   --> src/router.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct RouterCfg {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub inv_target: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RouterCfg` 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: field `E` is never read
[INFO] [stdout]   --> src/binance.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct WsEnvelope {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub E: Option<u64>,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WsEnvelope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x`, `L`, and `l` are never read
[INFO] [stdout]   --> src/binance.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct OrderTradeUpdate {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub x: String, // execution type
[INFO] [stdout]    |         ^
[INFO] [stdout] 44 |     #[serde(rename = "L", default)]
[INFO] [stdout] 45 |     pub L: Option<String>, // last filled price
[INFO] [stdout]    |         ^
[INFO] [stdout] 46 |     #[serde(rename = "l", default)]
[INFO] [stdout] 47 |     pub l: Option<String>, // last filled qty
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderTradeUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `E` should have a snake case name
[INFO] [stdout]   --> src/binance.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub E: Option<u64>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/binance.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub X: String, // order status: NEW, PARTIALLY_FILLED, FILLED, CANCELED, REJECTED, EXPIRED
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `L` should have a snake case name
[INFO] [stdout]   --> src/binance.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub L: Option<String>, // last filled price
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "9210b83207596674880ddb9b42577e101d2c3953b46ee6e1064ba7855205bfeb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9210b83207596674880ddb9b42577e101d2c3953b46ee6e1064ba7855205bfeb", kill_on_drop: false }`
[INFO] [stdout] 9210b83207596674880ddb9b42577e101d2c3953b46ee6e1064ba7855205bfeb
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a6249192df379b332a30e1e50deb5ff7c21fbe8b02e6025828b8b017559a971
[INFO] running `Command { std: "docker" "start" "-a" "7a6249192df379b332a30e1e50deb5ff7c21fbe8b02e6025828b8b017559a971", kill_on_drop: false }`
[INFO] [stderr]    Compiling dma_bot_rust v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let mut pos_map = pos_txs;
[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: field `data_source` is never read
[INFO] [stdout]    --> src/config.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct Args {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 105 |     // symbol
[INFO] [stdout] 106 |     pub data_source: String, // legacy; tidak wajib digunakan
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Args` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `qty` is never read
[INFO] [stdout]   --> src/risk.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Positions {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 24 |     pub qty: i64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Positions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inv_target` is never read
[INFO] [stdout]   --> src/router.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct RouterCfg {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub inv_target: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RouterCfg` 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: field `E` is never read
[INFO] [stdout]   --> src/binance.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct WsEnvelope {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub E: Option<u64>,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WsEnvelope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x`, `L`, and `l` are never read
[INFO] [stdout]   --> src/binance.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct OrderTradeUpdate {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub x: String, // execution type
[INFO] [stdout]    |         ^
[INFO] [stdout] 44 |     #[serde(rename = "L", default)]
[INFO] [stdout] 45 |     pub L: Option<String>, // last filled price
[INFO] [stdout]    |         ^
[INFO] [stdout] 46 |     #[serde(rename = "l", default)]
[INFO] [stdout] 47 |     pub l: Option<String>, // last filled qty
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderTradeUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `E` should have a snake case name
[INFO] [stdout]   --> src/binance.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub E: Option<u64>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/binance.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub X: String, // order status: NEW, PARTIALLY_FILLED, FILLED, CANCELED, REJECTED, EXPIRED
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `L` should have a snake case name
[INFO] [stdout]   --> src/binance.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub L: Option<String>, // last filled price
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.92s
[INFO] running `Command { std: "docker" "inspect" "7a6249192df379b332a30e1e50deb5ff7c21fbe8b02e6025828b8b017559a971", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a6249192df379b332a30e1e50deb5ff7c21fbe8b02e6025828b8b017559a971", kill_on_drop: false }`
[INFO] [stdout] 7a6249192df379b332a30e1e50deb5ff7c21fbe8b02e6025828b8b017559a971
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 438db4b9124b8d0ed7453e5f890448a2ada2fb3206912e84da72a7f33f0e5f5b
[INFO] running `Command { std: "docker" "start" "-a" "438db4b9124b8d0ed7453e5f890448a2ada2fb3206912e84da72a7f33f0e5f5b", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:289:13
[INFO] [stderr]     |
[INFO] [stderr] 289 |         let mut pos_map = pos_txs;
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `data_source` is never read
[INFO] [stderr]    --> src/config.rs:106:9
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub struct Args {
[INFO] [stderr]     |            ---- field in this struct
[INFO] [stderr] 105 |     // symbol
[INFO] [stderr] 106 |     pub data_source: String, // legacy; tidak wajib digunakan
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Args` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `qty` is never read
[INFO] [stderr]   --> src/risk.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct Positions {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 24 |     pub qty: i64,
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Positions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `inv_target` is never read
[INFO] [stderr]   --> src/router.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct RouterCfg {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub inv_target: i64,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RouterCfg` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `E` is never read
[INFO] [stderr]   --> src/binance.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct WsEnvelope {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub E: Option<u64>,
[INFO] [stderr]    |         ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `WsEnvelope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `x`, `L`, and `l` are never read
[INFO] [stderr]   --> src/binance.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct OrderTradeUpdate {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub x: String, // execution type
[INFO] [stderr]    |         ^
[INFO] [stderr] 44 |     #[serde(rename = "L", default)]
[INFO] [stderr] 45 |     pub L: Option<String>, // last filled price
[INFO] [stderr]    |         ^
[INFO] [stderr] 46 |     #[serde(rename = "l", default)]
[INFO] [stderr] 47 |     pub l: Option<String>, // last filled qty
[INFO] [stderr]    |         ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OrderTradeUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `E` should have a snake case name
[INFO] [stderr]   --> src/binance.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub E: Option<u64>,
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `X` should have a snake case name
[INFO] [stderr]   --> src/binance.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub X: String, // order status: NEW, PARTIALLY_FILLED, FILLED, CANCELED, REJECTED, EXPIRED
[INFO] [stderr]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `L` should have a snake case name
[INFO] [stderr]   --> src/binance.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |     pub L: Option<String>, // last filled price
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: `dma_bot_rust` (bin "dma_bot_rust" test) generated 9 warnings (run `cargo fix --bin "dma_bot_rust" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/dma_bot_rust-cadd9a080a2c2242)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "438db4b9124b8d0ed7453e5f890448a2ada2fb3206912e84da72a7f33f0e5f5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "438db4b9124b8d0ed7453e5f890448a2ada2fb3206912e84da72a7f33f0e5f5b", kill_on_drop: false }`
[INFO] [stdout] 438db4b9124b8d0ed7453e5f890448a2ada2fb3206912e84da72a7f33f0e5f5b
