[INFO] fetching crate vnrs 0.0.1... [INFO] checking vnrs-0.0.1 against master#ba7e63b63871a429533c189adbfb1d9a6337e000 for pr-135331-1 [INFO] extracting crate vnrs 0.0.1 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate vnrs 0.0.1 [INFO] finished tweaking crates.io crate vnrs 0.0.1 [INFO] tweaked toml for crates.io crate vnrs 0.0.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate vnrs 0.0.1 on toolchain ba7e63b63871a429533c189adbfb1d9a6337e000 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate vnrs 0.0.1 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" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded polars-time v0.41.3 [INFO] [stderr] Downloaded polars-error v0.41.3 [INFO] [stderr] Downloaded polars-row v0.41.3 [INFO] [stderr] Downloaded atoi_simd v0.15.6 [INFO] [stderr] Downloaded polars-utils v0.41.3 [INFO] [stderr] Downloaded polars-mem-engine v0.41.3 [INFO] [stderr] Downloaded parquet-format-safe v0.2.4 [INFO] [stderr] Downloaded polars-expr v0.41.3 [INFO] [stderr] Downloaded polars-pipe v0.41.3 [INFO] [stderr] Downloaded polars v0.41.3 [INFO] [stderr] Downloaded polars-io v0.41.3 [INFO] [stderr] Downloaded polars-ops v0.41.3 [INFO] [stderr] Downloaded polars-parquet v0.41.3 [INFO] [stderr] Downloaded polars-lazy v0.41.3 [INFO] [stderr] Downloaded polars-sql v0.41.3 [INFO] [stderr] Downloaded polars-compute v0.41.3 [INFO] [stderr] Downloaded polars-plan v0.41.3 [INFO] [stderr] Downloaded lz4 v1.26.0 [INFO] [stderr] Downloaded polars-arrow v0.41.3 [INFO] [stderr] Downloaded polars-core v0.41.3 [INFO] [stderr] Downloaded lz4-sys v1.10.0 [INFO] [stderr] Downloaded tokio v1.39.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2bc454e9ff0103cde93433db3d1469898720706d0413dce74f972b527aed9c92 [INFO] running `Command { std: "docker" "start" "-a" "2bc454e9ff0103cde93433db3d1469898720706d0413dce74f972b527aed9c92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2bc454e9ff0103cde93433db3d1469898720706d0413dce74f972b527aed9c92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2bc454e9ff0103cde93433db3d1469898720706d0413dce74f972b527aed9c92", kill_on_drop: false }` [INFO] [stdout] 2bc454e9ff0103cde93433db3d1469898720706d0413dce74f972b527aed9c92 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b39b42dc6162c358f8c0b865ea4d848992116220fa372c7413daf4764d5ae2ba [INFO] running `Command { std: "docker" "start" "-a" "b39b42dc6162c358f8c0b865ea4d848992116220fa372c7413daf4764d5ae2ba", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling cc v1.1.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling target-features v0.1.6 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking array-init-cursor v0.2.0 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking planus v0.3.1 [INFO] [stderr] Compiling smartstring v1.0.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling polars-utils v0.41.3 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking simdutf8 v0.1.4 [INFO] [stderr] Checking raw-cpuid v11.1.0 [INFO] [stderr] Compiling polars-arrow v0.41.3 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking atoi_simd v0.15.6 [INFO] [stderr] Checking dyn-clone v1.0.17 [INFO] [stderr] Checking streaming-iterator v0.1.9 [INFO] [stderr] Checking ethnum v1.5.0 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Checking fast-float v0.2.0 [INFO] [stderr] Checking foreign_vec v0.1.0 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling polars-compute v0.41.3 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking bytes v1.6.1 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Compiling futures-core v0.3.30 [INFO] [stderr] Compiling polars-core v0.41.3 [INFO] [stderr] Compiling pin-project-lite v0.2.14 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Compiling psm v0.1.21 [INFO] [stderr] Compiling stacker v0.1.15 [INFO] [stderr] Checking atoi v2.0.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling polars-ops v0.41.3 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking xxhash-rust v0.8.11 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling futures-sink v0.3.30 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Compiling tinyvec v1.8.0 [INFO] [stderr] Checking argminmax v0.6.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling mio v1.0.1 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling socket2 v0.5.7 [INFO] [stderr] Compiling libsqlite3-sys v0.27.0 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Checking now v0.1.3 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling futures-task v0.3.30 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling futures-io v0.3.30 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Checking memmap2 v0.7.1 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling polars-plan v0.41.3 [INFO] [stderr] Compiling tokio v1.39.0 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Compiling cpufeatures v0.2.12 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling crossbeam-queue v0.3.11 [INFO] [stderr] Compiling crc v3.2.1 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling url v2.5.2 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling flume v0.11.0 [INFO] [stderr] Compiling fastrand v2.1.0 [INFO] [stderr] Compiling unicode-segmentation v1.11.0 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling sqlformat v0.2.4 [INFO] [stderr] Compiling polars-lazy v0.41.3 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling polars v0.41.3 [INFO] [stderr] Checking streaming-decompression v0.1.2 [INFO] [stderr] Checking parquet-format-safe v0.2.4 [INFO] [stderr] Compiling rust_decimal v1.35.0 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling multiversion-macros v0.7.4 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling bytemuck_derive v1.7.0 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling recursive-proc-macro-impl v0.1.1 [INFO] [stderr] Compiling tempfile v3.10.1 [INFO] [stderr] Checking recursive v0.1.1 [INFO] [stderr] Checking multiversion v0.7.4 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling tokio-stream v0.1.15 [INFO] [stderr] Checking bytemuck v1.16.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking comfy-table v7.1.1 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking polars-arrow-format v0.1.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking polars-error v0.41.3 [INFO] [stderr] Compiling sqlx-core v0.7.4 [INFO] [stderr] Compiling sqlx-sqlite v0.7.4 [INFO] [stderr] Compiling sqlx-macros-core v0.7.4 [INFO] [stderr] Compiling sqlx-macros v0.7.4 [INFO] [stderr] Checking sqlx v0.7.4 [INFO] [stderr] Checking polars-row v0.41.3 [INFO] [stderr] Checking polars-parquet v0.41.3 [INFO] [stderr] Checking polars-time v0.41.3 [INFO] [stderr] Checking polars-io v0.41.3 [INFO] [stderr] Checking polars-expr v0.41.3 [INFO] [stderr] Checking polars-mem-engine v0.41.3 [INFO] [stderr] Checking vnrs v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `SETTINGS` [INFO] [stdout] --> src/vnrs/trader/database.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use super::setting::{get_settings, SETTINGS}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::builder` [INFO] [stdout] --> src/vnrs/trader/database.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use env_logger::builder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/vnrs/trader/database.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CString`, `HashMap`, `Mutex`, and `c_char` [INFO] [stdout] --> src/vnrs/trader/object.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 6 | ffi::{c_char, CString}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] 7 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs/trader/setting.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/vnrs/trader/utility.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MixData` and `TickData` [INFO] [stdout] --> src/vnrs/trader/utility.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | use super::object::{BarData, MixData, TickData}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Datelike` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{Datelike, Days, Local, NaiveDate, NaiveDateTime, TimeDelta}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `when` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | use polars::lazy::dsl::{col, lit, when}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::pin::Pin` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `strum::EnumString` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use strum::EnumString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `INTERVAL_DELTA_MAP` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | StopOrderStatus, VTable, INTERVAL_DELTA_MAP, STOPORDER_PREFIX, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime` and `Local` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono::{DateTime, Duration, Local, NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `backtesting::BacktestingEngine` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{backtesting::BacktestingEngine, template::CtaTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SETTINGS` [INFO] [stdout] --> src/vnrs/trader/database.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use super::setting::{get_settings, SETTINGS}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::builder` [INFO] [stdout] --> src/vnrs/trader/database.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use env_logger::builder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/vnrs/trader/database.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CString`, `HashMap`, `Mutex`, and `c_char` [INFO] [stdout] --> src/vnrs/trader/object.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 6 | ffi::{c_char, CString}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] 7 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs/trader/setting.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/vnrs/trader/utility.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MixData` and `TickData` [INFO] [stdout] --> src/vnrs/trader/utility.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | use super::object::{BarData, MixData, TickData}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Datelike` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{Datelike, Days, Local, NaiveDate, NaiveDateTime, TimeDelta}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `when` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | use polars::lazy::dsl::{col, lit, when}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::pin::Pin` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `strum::EnumString` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use strum::EnumString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `INTERVAL_DELTA_MAP` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | StopOrderStatus, VTable, INTERVAL_DELTA_MAP, STOPORDER_PREFIX, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime` and `Local` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono::{DateTime, Duration, Local, NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `backtesting::BacktestingEngine` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{backtesting::BacktestingEngine, template::CtaTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> src/vnrs/trader/database.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn connect(url: &str) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_url` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> src/vnrs/trader/database.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn connect(url: &str) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_url` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | let this = self as *const BacktestingEngine as *mut BacktestingEngine; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ewm_sharpe` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ewm_sharpe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positive_balance` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:386:13 [INFO] [stdout] | [INFO] [stdout] 386 | let positive_balance: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positive_balance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | let this = self as *const BacktestingEngine as *mut BacktestingEngine; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:609:28 [INFO] [stdout] | [INFO] [stdout] 609 | fn new_tick(&mut self, tick: &MixData) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ewm_sharpe` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ewm_sharpe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positive_balance` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:386:13 [INFO] [stdout] | [INFO] [stdout] 386 | let positive_balance: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positive_balance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_database` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | use_database: bool, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vt_symbol` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:29 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vt_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `days` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:46 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_days` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:826:9 [INFO] [stdout] | [INFO] [stdout] 826 | strategy: *mut CtaTemplate, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lock` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | lock: bool, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_lock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `net` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:833:9 [INFO] [stdout] | [INFO] [stdout] 833 | net: bool, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_net` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:916:37 [INFO] [stdout] | [INFO] [stdout] 916 | fn cancel_stop_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:926:38 [INFO] [stdout] | [INFO] [stdout] 926 | fn cancel_limit_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:609:28 [INFO] [stdout] | [INFO] [stdout] 609 | fn new_tick(&mut self, tick: &MixData) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_database` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | use_database: bool, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vt_symbol` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:29 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vt_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `days` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:46 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_days` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:826:9 [INFO] [stdout] | [INFO] [stdout] 826 | strategy: *mut CtaTemplate, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lock` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | lock: bool, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_lock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `net` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:833:9 [INFO] [stdout] | [INFO] [stdout] 833 | net: bool, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_net` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:916:37 [INFO] [stdout] | [INFO] [stdout] 916 | fn cancel_stop_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:926:38 [INFO] [stdout] | [INFO] [stdout] 926 | fn cancel_limit_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `localtime` is never read [INFO] [stdout] --> src/vnrs/trader/object.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TickData { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | localtime: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TickData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PositionData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 181 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 182 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 183 | direction: Direction, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 184 | [INFO] [stdout] 185 | volume: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 186 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 187 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 188 | pnl: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] 189 | yd_volume: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `accountid`, `balance`, and `frozen` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct AccountData { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 197 | accountid: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | balance: f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 200 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `msg` and `level` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct LogData { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 208 | msg: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 209 | level: Level, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct ContractData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 217 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 218 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 219 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 220 | product: Product, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 221 | size: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 222 | pricetick: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 223 | [INFO] [stdout] 224 | min_volume: f64, // minimum trading volume of the contract [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 225 | stop_supported: bool, // whether server supports stop order [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 226 | net_position: bool, // whether gateway uses net position volume [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 227 | history_data: bool, // whether gateway provides bar history data [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 228 | [INFO] [stdout] 229 | option_strike: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 230 | option_underlying: String, // vt_symbol of underlying contract [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 231 | option_type: OptionType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 232 | option_listed: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 233 | option_expiry: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 234 | option_portfolio: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 235 | option_index: String, // for identifying options with same strike price [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `orderid`, `symbol`, and `exchange` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 333 | pub struct CancelRequest { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 334 | orderid: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 335 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 336 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `on_bar` is never read [INFO] [stdout] --> src/vnrs/trader/utility.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct BarGenerator { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 34 | // bar: Option, [INFO] [stdout] 35 | on_bar: fn(usize, &BarData), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BarGenerator` 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 `engine_type`, `days`, and `logs` are never read [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct BacktestingEngine { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 29 | engine_type: EngineType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | days: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | logs: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear_data`, `load_tick`, `cancel_order`, and `write_log` are never used [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl BacktestingEngine { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn clear_data(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 908 | fn cancel_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 950 | fn write_log(&mut self, msg: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `localtime` is never read [INFO] [stdout] --> src/vnrs/trader/object.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TickData { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | localtime: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TickData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PositionData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 181 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 182 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 183 | direction: Direction, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 184 | [INFO] [stdout] 185 | volume: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 186 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 187 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 188 | pnl: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] 189 | yd_volume: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `accountid`, `balance`, and `frozen` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct AccountData { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 197 | accountid: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | balance: f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 200 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `msg` and `level` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct LogData { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 208 | msg: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 209 | level: Level, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct ContractData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 217 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 218 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 219 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 220 | product: Product, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 221 | size: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 222 | pricetick: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 223 | [INFO] [stdout] 224 | min_volume: f64, // minimum trading volume of the contract [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 225 | stop_supported: bool, // whether server supports stop order [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 226 | net_position: bool, // whether gateway uses net position volume [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 227 | history_data: bool, // whether gateway provides bar history data [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 228 | [INFO] [stdout] 229 | option_strike: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 230 | option_underlying: String, // vt_symbol of underlying contract [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 231 | option_type: OptionType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 232 | option_listed: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 233 | option_expiry: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 234 | option_portfolio: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 235 | option_index: String, // for identifying options with same strike price [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `orderid`, `symbol`, and `exchange` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 333 | pub struct CancelRequest { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 334 | orderid: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 335 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 336 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `on_bar` is never read [INFO] [stdout] --> src/vnrs/trader/utility.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct BarGenerator { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 34 | // bar: Option, [INFO] [stdout] 35 | on_bar: fn(usize, &BarData), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BarGenerator` 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 `engine_type`, `days`, and `logs` are never read [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct BacktestingEngine { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 29 | engine_type: EngineType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | days: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | logs: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear_data`, `load_tick`, `cancel_order`, and `write_log` are never used [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl BacktestingEngine { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn clear_data(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 908 | fn cancel_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 950 | fn write_log(&mut self, msg: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CString` and `ptr` [INFO] [stdout] --> src/main.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | ffi::{c_char, CStr, CString}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | ptr, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CtaEngineTable` and `CtaTemplate` [INFO] [stdout] --> src/main.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | template::{CtaEngineTable, CtaTemplate}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SETTINGS` [INFO] [stdout] --> src/vnrs/trader/database.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use super::setting::{get_settings, SETTINGS}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::builder` [INFO] [stdout] --> src/vnrs/trader/database.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use env_logger::builder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/vnrs/trader/database.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CString`, `HashMap`, `Mutex`, and `c_char` [INFO] [stdout] --> src/vnrs/trader/object.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 6 | ffi::{c_char, CString}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] 7 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs/trader/setting.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/vnrs/trader/utility.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MixData` and `TickData` [INFO] [stdout] --> src/vnrs/trader/utility.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | use super::object::{BarData, MixData, TickData}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Datelike` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{Datelike, Days, Local, NaiveDate, NaiveDateTime, TimeDelta}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `when` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | use polars::lazy::dsl::{col, lit, when}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::pin::Pin` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `strum::EnumString` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use strum::EnumString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `INTERVAL_DELTA_MAP` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | StopOrderStatus, VTable, INTERVAL_DELTA_MAP, STOPORDER_PREFIX, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime` and `Local` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono::{DateTime, Duration, Local, NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CString` and `ptr` [INFO] [stdout] --> src/main.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | ffi::{c_char, CStr, CString}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | ptr, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CtaEngineTable` and `CtaTemplate` [INFO] [stdout] --> src/main.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | template::{CtaEngineTable, CtaTemplate}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SETTINGS` [INFO] [stdout] --> src/vnrs/trader/database.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use super::setting::{get_settings, SETTINGS}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::builder` [INFO] [stdout] --> src/vnrs/trader/database.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use env_logger::builder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `backtesting::BacktestingEngine` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{backtesting::BacktestingEngine, template::CtaTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/vnrs/trader/database.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CString`, `HashMap`, `Mutex`, and `c_char` [INFO] [stdout] --> src/vnrs/trader/object.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 6 | ffi::{c_char, CString}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] 7 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs/trader/setting.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | sync::{Mutex, OnceLock}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/vnrs/trader/utility.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MixData` and `TickData` [INFO] [stdout] --> src/vnrs/trader/utility.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | use super::object::{BarData, MixData, TickData}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Datelike` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{Datelike, Days, Local, NaiveDate, NaiveDateTime, TimeDelta}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `when` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | use polars::lazy::dsl::{col, lit, when}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::pin::Pin` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `strum::EnumString` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use strum::EnumString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `INTERVAL_DELTA_MAP` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | StopOrderStatus, VTable, INTERVAL_DELTA_MAP, STOPORDER_PREFIX, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime` and `Local` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono::{DateTime, Duration, Local, NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `backtesting::BacktestingEngine` [INFO] [stdout] --> src/vnrs_ctastrategy/base.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{backtesting::BacktestingEngine, template::CtaTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> src/vnrs/trader/database.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn connect(url: &str) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_url` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> src/vnrs/trader/database.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn connect(url: &str) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_url` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | let this = self as *const BacktestingEngine as *mut BacktestingEngine; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ewm_sharpe` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ewm_sharpe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positive_balance` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:386:13 [INFO] [stdout] | [INFO] [stdout] 386 | let positive_balance: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positive_balance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | let this = self as *const BacktestingEngine as *mut BacktestingEngine; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:609:28 [INFO] [stdout] | [INFO] [stdout] 609 | fn new_tick(&mut self, tick: &MixData) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ewm_sharpe` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ewm_sharpe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positive_balance` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:386:13 [INFO] [stdout] | [INFO] [stdout] 386 | let positive_balance: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positive_balance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_database` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | use_database: bool, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vt_symbol` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:29 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vt_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `days` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:46 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_days` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:826:9 [INFO] [stdout] | [INFO] [stdout] 826 | strategy: *mut CtaTemplate, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lock` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | lock: bool, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_lock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `net` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:833:9 [INFO] [stdout] | [INFO] [stdout] 833 | net: bool, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_net` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:916:37 [INFO] [stdout] | [INFO] [stdout] 916 | fn cancel_stop_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:926:38 [INFO] [stdout] | [INFO] [stdout] 926 | fn cancel_limit_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | let mut ewm_sharpe: f64 = 0.0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:609:28 [INFO] [stdout] | [INFO] [stdout] 609 | fn new_tick(&mut self, tick: &MixData) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_database` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | use_database: bool, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vt_symbol` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:29 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vt_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `days` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:820:46 [INFO] [stdout] | [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_days` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:826:9 [INFO] [stdout] | [INFO] [stdout] 826 | strategy: *mut CtaTemplate, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lock` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | lock: bool, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_lock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `net` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:833:9 [INFO] [stdout] | [INFO] [stdout] 833 | net: bool, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_net` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:916:37 [INFO] [stdout] | [INFO] [stdout] 916 | fn cancel_stop_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `localtime` is never read [INFO] [stdout] --> src/vnrs/trader/object.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TickData { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | localtime: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TickData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:926:38 [INFO] [stdout] | [INFO] [stdout] 926 | fn cancel_limit_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PositionData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 181 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 182 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 183 | direction: Direction, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 184 | [INFO] [stdout] 185 | volume: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 186 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 187 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 188 | pnl: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] 189 | yd_volume: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `accountid`, `balance`, and `frozen` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct AccountData { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 197 | accountid: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | balance: f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 200 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `msg` and `level` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct LogData { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 208 | msg: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 209 | level: Level, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct ContractData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 217 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 218 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 219 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 220 | product: Product, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 221 | size: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 222 | pricetick: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 223 | [INFO] [stdout] 224 | min_volume: f64, // minimum trading volume of the contract [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 225 | stop_supported: bool, // whether server supports stop order [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 226 | net_position: bool, // whether gateway uses net position volume [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 227 | history_data: bool, // whether gateway provides bar history data [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 228 | [INFO] [stdout] 229 | option_strike: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 230 | option_underlying: String, // vt_symbol of underlying contract [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 231 | option_type: OptionType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 232 | option_listed: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 233 | option_expiry: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 234 | option_portfolio: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 235 | option_index: String, // for identifying options with same strike price [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `orderid`, `symbol`, and `exchange` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 333 | pub struct CancelRequest { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 334 | orderid: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 335 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 336 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `on_bar` is never read [INFO] [stdout] --> src/vnrs/trader/utility.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct BarGenerator { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 34 | // bar: Option, [INFO] [stdout] 35 | on_bar: fn(usize, &BarData), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BarGenerator` 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 `engine_type`, `days`, and `logs` are never read [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct BacktestingEngine { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 29 | engine_type: EngineType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | days: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | logs: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear_data`, `load_tick`, `cancel_order`, and `write_log` are never used [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl BacktestingEngine { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn clear_data(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 908 | fn cancel_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 950 | fn write_log(&mut self, msg: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `localtime` is never read [INFO] [stdout] --> src/vnrs/trader/object.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TickData { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | localtime: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TickData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PositionData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 181 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 182 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 183 | direction: Direction, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 184 | [INFO] [stdout] 185 | volume: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 186 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 187 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 188 | pnl: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] 189 | yd_volume: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `accountid`, `balance`, and `frozen` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct AccountData { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 197 | accountid: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | balance: f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 200 | frozen: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `msg` and `level` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct LogData { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 208 | msg: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 209 | level: Level, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct ContractData { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 217 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 218 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 219 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 220 | product: Product, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 221 | size: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 222 | pricetick: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 223 | [INFO] [stdout] 224 | min_volume: f64, // minimum trading volume of the contract [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 225 | stop_supported: bool, // whether server supports stop order [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 226 | net_position: bool, // whether gateway uses net position volume [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 227 | history_data: bool, // whether gateway provides bar history data [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 228 | [INFO] [stdout] 229 | option_strike: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 230 | option_underlying: String, // vt_symbol of underlying contract [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 231 | option_type: OptionType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 232 | option_listed: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 233 | option_expiry: NaiveDateTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 234 | option_portfolio: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 235 | option_index: String, // for identifying options with same strike price [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `orderid`, `symbol`, and `exchange` are never read [INFO] [stdout] --> src/vnrs/trader/object.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 333 | pub struct CancelRequest { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 334 | orderid: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 335 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 336 | exchange: Exchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `on_bar` is never read [INFO] [stdout] --> src/vnrs/trader/utility.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct BarGenerator { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 34 | // bar: Option, [INFO] [stdout] 35 | on_bar: fn(usize, &BarData), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BarGenerator` 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 `engine_type`, `days`, and `logs` are never read [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct BacktestingEngine { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 29 | engine_type: EngineType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | days: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | logs: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear_data`, `load_tick`, `cancel_order`, and `write_log` are never used [INFO] [stdout] --> src/vnrs_ctastrategy/backtesting.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl BacktestingEngine { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn clear_data(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 820 | fn load_tick(&mut self, vt_symbol: &str, days: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 908 | fn cancel_order(&mut self, strategy: *mut CtaTemplate, vt_orderid: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 950 | fn write_log(&mut self, msg: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 23s [INFO] running `Command { std: "docker" "inspect" "b39b42dc6162c358f8c0b865ea4d848992116220fa372c7413daf4764d5ae2ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b39b42dc6162c358f8c0b865ea4d848992116220fa372c7413daf4764d5ae2ba", kill_on_drop: false }` [INFO] [stdout] b39b42dc6162c358f8c0b865ea4d848992116220fa372c7413daf4764d5ae2ba