[INFO] cloning repository https://github.com/wxywb/quantative
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wxywb/quantative" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwxywb%2Fquantative", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwxywb%2Fquantative'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a918f0a7ae74a13246c4e3a21a5807233ff0591a
[INFO] checking wxywb/quantative against be3da1e8c043bb6f1f335463d3b1335cdf50b03c for pr-162597
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwxywb%2Fquantative" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wxywb/quantative
[INFO] finished tweaking git repo https://github.com/wxywb/quantative
[INFO] tweaked toml for git repo https://github.com/wxywb/quantative written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wxywb/quantative on toolchain be3da1e8c043bb6f1f335463d3b1335cdf50b03c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+be3da1e8c043bb6f1f335463d3b1335cdf50b03c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wxywb/quantative 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" "+be3da1e8c043bb6f1f335463d3b1335cdf50b03c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded socket2 v0.5.9
[INFO] [stderr]   Downloaded redox_syscall v0.5.11
[INFO] [stderr]   Downloaded miniz_oxide v0.8.7
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.14
[INFO] [stderr]   Downloaded config v0.13.4
[INFO] [stderr]   Downloaded ron v0.7.1
[INFO] [stderr]   Downloaded pest_derive v2.8.0
[INFO] [stderr]   Downloaded pest_generator v2.8.0
[INFO] [stderr]   Downloaded pest_meta v2.8.0
[INFO] [stderr]   Downloaded pest v2.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2
[INFO] running `Command { std: "docker" "start" "c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2", 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" "c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2" "/opt/rustwide/cargo-home/bin/cargo" "+be3da1e8c043bb6f1f335463d3b1335cdf50b03c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2", 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" "c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2" "/opt/rustwide/cargo-home/bin/cargo" "+be3da1e8c043bb6f1f335463d3b1335cdf50b03c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking dlv-list v0.3.0
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking csv-core v0.1.12
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking ordered-multimap v0.4.3
[INFO] [stderr]     Checking rust-ini v0.18.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking ron v0.7.1
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]     Checking config v0.13.4
[INFO] [stderr]     Checking quant-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/engine/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/engine/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/strategy/mod.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/strategy/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/strategy/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `TimeZone`
[INFO] [stdout]  --> src/gateway/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc, TimeZone};
[INFO] [stdout]   |              ^^^^^^^^       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio`
[INFO] [stdout]  --> src/gateway/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/engine/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/engine/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/strategy/mod.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/strategy/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/strategy/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `TimeZone`
[INFO] [stdout]  --> src/gateway/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc, TimeZone};
[INFO] [stdout]   |              ^^^^^^^^       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio`
[INFO] [stdout]  --> src/gateway/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::Engine`
[INFO] [stdout]   --> src/gateway/mod.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     use crate::engine::Engine;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::strategy::Strategy`
[INFO] [stdout]   --> src/gateway/mod.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use crate::strategy::Strategy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/gateway/mod.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trade`
[INFO] [stdout]   --> src/engine/mod.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn on_trade(&self, trade: &Trade) -> anyhow::Result<()> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_trade`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy_name`
[INFO] [stdout]   --> src/engine/mod.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             for(strategy_name, trade) in &trades_by_name {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/gateway/mod.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn send_order(&self, req: OrderRequest) -> anyhow::Result<String> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/gateway/mod.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel_order(&mut self, req: CancelRequest) -> anyhow::Result<()> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `strategies` and `gateway` are never read
[INFO] [stdout]   --> src/engine/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Engine {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 13 |     pub name: String,
[INFO] [stdout] 14 |     pub strategies: HashMap<String, Box<dyn Strategy>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub gateway: Box<dyn Gateway>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/engine/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Engine {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_strategy_mut(&mut self, strategy_name: &str) -> Option<&mut Box<dyn Strategy>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn register_strategy(&mut self, strategy_name: String, strategy: Box<dyn Strategy>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn on_tick(&mut self, tick: &Tick) -> HashMap<String, Option<Trade>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn on_trade(&self, trade: &Trade) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn send_order(&self, order: &Trade) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn run_backtest(&mut self, iterator: impl Iterator<Item = Tick>) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/strategy/mod.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Direction {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Trade` is never constructed
[INFO] [stdout]   --> src/strategy/mod.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Trade {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tick` is never constructed
[INFO] [stdout]   --> src/strategy/mod.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Tick {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_tick` is never used
[INFO] [stdout]   --> src/strategy/mod.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub trait Strategy: Any {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] 36 |     fn on_tick(&mut self, tick: &Tick) -> Option<Trade>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/gateway/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait Gateway {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] 10 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     fn connect(&mut self) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     fn subscribe(&mut self, symbols: Vec<String>) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     fn send_order(&self, req: OrderRequest) -> anyhow::Result<String>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn cancel_order(&mut self, req: CancelRequest) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     fn query_account(&self) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     fn query_position(&self) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     fn read(&self)-> Tick;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `subscribed_names` are never read
[INFO] [stdout]   --> src/gateway/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct MockGateway {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 29 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 30 |     pub subscribed_names : Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderSide` is never used
[INFO] [stdout]  --> src/gateway/order.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum OrderSide {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderType` is never used
[INFO] [stdout]  --> src/gateway/order.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum OrderType {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TimeInForce` is never used
[INFO] [stdout]   --> src/gateway/order.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum TimeInForce {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrderRequest` is never constructed
[INFO] [stdout]   --> src/gateway/order.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct OrderRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CancelRequest` is never constructed
[INFO] [stdout]   --> src/gateway/order.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct CancelRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/engine/mod.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 self.on_trade(order);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let _ = self.on_trade(order);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trade`
[INFO] [stdout]   --> src/engine/mod.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn on_trade(&self, trade: &Trade) -> anyhow::Result<()> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_trade`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy_name`
[INFO] [stdout]   --> src/engine/mod.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             for(strategy_name, trade) in &trades_by_name {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/mod.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let mut test_datasource = construct_datasource();
[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: `req`
[INFO] [stdout]   --> src/gateway/mod.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn send_order(&self, req: OrderRequest) -> anyhow::Result<String> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/gateway/mod.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel_order(&mut self, req: CancelRequest) -> anyhow::Result<()> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/gateway/mod.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         for i in 0..5 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_strategy_mut` is never used
[INFO] [stdout]   --> src/engine/mod.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Engine {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_strategy_mut(&mut self, strategy_name: &str) -> Option<&mut Box<dyn Strategy>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Sell` is never constructed
[INFO] [stdout]   --> src/strategy/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum Direction {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout]  9 |     Buy,
[INFO] [stdout] 10 |     Sell,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Direction` 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 `order_id` and `timestamp` are never read
[INFO] [stdout]   --> src/strategy/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Trade {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout] 16 |     pub order_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Trade` 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: methods `cancel_order`, `query_account`, and `query_position` are never used
[INFO] [stdout]   --> src/gateway/mod.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait Gateway {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn cancel_order(&mut self, req: CancelRequest) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     fn query_account(&self) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     fn query_position(&self) -> anyhow::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Market`, `IOC`, and `FOK` are never constructed
[INFO] [stdout]   --> src/gateway/order.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum OrderType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout]  9 |     Limit,
[INFO] [stdout] 10 |     Market,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     IOC,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 12 |     FOK,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderType` 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: variants `IOC` and `FOK` are never constructed
[INFO] [stdout]   --> src/gateway/order.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum TimeInForce {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 17 |     GTC, // Good Till Canceled
[INFO] [stdout] 18 |     IOC, // Immediate Or Cancel
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 19 |     FOK, // Fill Or Kill
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeInForce` 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: multiple fields are never read
[INFO] [stdout]   --> src/gateway/order.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct OrderRequest {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 24 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     pub price: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 26 |     pub volume: f64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 27 |     pub side: OrderSide,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 28 |     pub order_type: OrderType,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 29 |     pub gateway: Option<String>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 30 |     pub time_in_force: Option<TimeInForce>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub stop_price: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderRequest` 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 `CancelRequest` is never constructed
[INFO] [stdout]   --> src/gateway/order.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct CancelRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/engine/mod.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 self.on_trade(order);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let _ = self.on_trade(order);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine/mod.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         engine.run_backtest(iterator);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let _ = engine.run_backtest(iterator);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `config`
[INFO] [stderr]  --> Cargo.toml:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | config = "0.13"
[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 `crossbeam`
[INFO] [stderr]  --> Cargo.toml:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | crossbeam = "0.8"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `crossbeam`
[INFO] [stderr] warning: unused dependency `csv`
[INFO] [stderr]  --> Cargo.toml:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | csv = "1.3"
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `csv`
[INFO] [stderr] warning: unused dependency `env_logger`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | env_logger = "0.10"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `env_logger`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | thiserror = "1.0"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `uuid`
[INFO] [stderr]   --> Cargo.toml:24:15
[INFO] [stderr]    |
[INFO] [stderr] 24 | [dependencies.uuid]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `uuid`
[INFO] [stderr] warning: `quant-rs` (manifest) generated 6 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.13s
[INFO] running `Command { std: "docker" "inspect" "c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2", kill_on_drop: false }`
[INFO] [stdout] c89bfd481db621350d4cc6d301fd5d628a23ab0ab57eb9f7b48cce50bd00cce2
