[INFO] cloning repository https://github.com/orielsanchez/algotrading
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/orielsanchez/algotrading" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Forielsanchez%2Falgotrading", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Forielsanchez%2Falgotrading'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cda45cf19ccea918b64d0cf95d2af74a8ab9c92a
[INFO] checking orielsanchez/algotrading against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Forielsanchez%2Falgotrading" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/orielsanchez/algotrading
[INFO] finished tweaking git repo https://github.com/orielsanchez/algotrading
[INFO] tweaked toml for git repo https://github.com/orielsanchez/algotrading written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/orielsanchez/algotrading on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/orielsanchez/algotrading 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded arrow-row v55.2.0
[INFO] [stderr]   Downloaded serde-xml-rs v0.5.1
[INFO] [stderr]   Downloaded fragile v2.0.1
[INFO] [stderr]   Downloaded thrift v0.17.0
[INFO] [stderr]   Downloaded polars-schema v0.49.1
[INFO] [stderr]   Downloaded lexical-write-integer v1.0.5
[INFO] [stderr]   Downloaded lexical-parse-integer v1.0.5
[INFO] [stderr]   Downloaded arrow-data v55.2.0
[INFO] [stderr]   Downloaded arrow-csv v55.2.0
[INFO] [stderr]   Downloaded arrow-json v55.2.0
[INFO] [stderr]   Downloaded streaming-decompression v0.1.2
[INFO] [stderr]   Downloaded seq-macro v0.3.6
[INFO] [stderr]   Downloaded arrow-arith v55.2.0
[INFO] [stderr]   Downloaded arrow-string v55.2.0
[INFO] [stderr]   Downloaded polars-time v0.49.1
[INFO] [stderr]   Downloaded lexical-parse-float v1.0.5
[INFO] [stderr]   Downloaded arrow-cast v55.2.0
[INFO] [stderr]   Downloaded polars-lazy v0.49.1
[INFO] [stderr]   Downloaded polars-io v0.49.1
[INFO] [stderr]   Downloaded ibapi v1.2.2
[INFO] [stderr]   Downloaded lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]   Downloaded parquet v55.2.0
[INFO] [stderr]   Downloaded time-tz v2.0.0
[INFO] [stderr]   Downloaded csv v1.3.1
[INFO] [stderr]   Downloaded polars-expr v0.49.1
[INFO] [stderr]   Downloaded debug_unsafe v0.1.3
[INFO] [stderr]   Downloaded arrow-buffer v55.2.0
[INFO] [stderr]   Downloaded flatbuffers v25.2.10
[INFO] [stderr]   Downloaded arrow-ord v55.2.0
[INFO] [stderr]   Downloaded csv-core v0.1.12
[INFO] [stderr]   Downloaded boxcar v0.2.13
[INFO] [stderr]   Downloaded object_store v0.12.2
[INFO] [stderr]   Downloaded brotli v8.0.1
[INFO] [stderr]   Downloaded polars-sql v0.49.1
[INFO] [stderr]   Downloaded polars-utils v0.49.1
[INFO] [stderr]   Downloaded rustls v0.23.28
[INFO] [stderr]   Downloaded polars-core v0.49.1
[INFO] [stderr]   Downloaded polars-plan v0.49.1
[INFO] [stderr]   Downloaded sqlparser v0.53.0
[INFO] [stderr]   Downloaded hyper-util v0.1.15
[INFO] [stderr]   Downloaded comfy-table v7.1.4
[INFO] [stderr]   Downloaded polars-mem-engine v0.49.1
[INFO] [stderr]   Downloaded rustls-webpki v0.103.3
[INFO] [stderr]   Downloaded arrow-array v55.2.0
[INFO] [stderr]   Downloaded polars-parquet v0.49.1
[INFO] [stderr]   Downloaded polars-arrow v0.49.1
[INFO] [stderr]   Downloaded zlib-rs v0.5.1
[INFO] [stderr]   Downloaded h2 v0.4.11
[INFO] [stderr]   Downloaded polars v0.49.1
[INFO] [stderr]   Downloaded planus v1.1.1
[INFO] [stderr]   Downloaded lexical-write-float v1.0.5
[INFO] [stderr]   Downloaded arrow-ipc v55.2.0
[INFO] [stderr]   Downloaded arrow-select v55.2.0
[INFO] [stderr]   Downloaded polars-stream v0.49.1
[INFO] [stderr]   Downloaded recursive-proc-macro-impl v0.1.1
[INFO] [stderr]   Downloaded argminmax v0.6.3
[INFO] [stderr]   Downloaded atoi_simd v0.16.1
[INFO] [stderr]   Downloaded ethnum v1.5.2
[INFO] [stderr]   Downloaded polars-row v0.49.1
[INFO] [stderr]   Downloaded rustls-native-certs v0.8.1
[INFO] [stderr]   Downloaded arrow v55.2.0
[INFO] [stderr]   Downloaded predicates v3.1.3
[INFO] [stderr]   Downloaded lexical-core v1.0.5
[INFO] [stderr]   Downloaded now v0.1.3
[INFO] [stderr]   Downloaded skiplist v0.5.1
[INFO] [stderr]   Downloaded chrono-tz-build v0.4.1
[INFO] [stderr]   Downloaded streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded lexical-util v1.0.6
[INFO] [stderr]   Downloaded integer-encoding v3.0.4
[INFO] [stderr]   Downloaded fast-float2 v0.2.3
[INFO] [stderr]   Downloaded chrono-tz v0.10.3
[INFO] [stderr]   Downloaded dyn-clone v1.0.19
[INFO] [stderr]   Downloaded lz4 v1.28.1
[INFO] [stderr]   Downloaded unicode-reverse v1.0.9
[INFO] [stderr]   Downloaded array-init-cursor v0.2.1
[INFO] [stderr]   Downloaded polars-arrow-format v0.2.0
[INFO] [stderr]   Downloaded raw-cpuid v11.5.0
[INFO] [stderr]   Downloaded wide v0.7.33
[INFO] [stderr]   Downloaded fs4 v0.13.1
[INFO] [stderr]   Downloaded polars-parquet-format v0.1.0
[INFO] [stderr]   Downloaded polars-compute v0.49.1
[INFO] [stderr]   Downloaded arrow-schema v55.2.0
[INFO] [stderr]   Downloaded cc v1.2.29
[INFO] [stderr]   Downloaded polars-ops v0.49.1
[INFO] [stderr]   Downloaded statrs v0.18.0
[INFO] [stderr]   Downloaded libz-rs-sys v0.5.1
[INFO] [stderr]   Downloaded security-framework v3.2.0
[INFO] [stderr]   Downloaded recursive v0.1.1
[INFO] [stderr]   Downloaded polars-error v0.49.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1ac019e418bdc81679823ffaad167fb349a198485eea93afcbdda3700f9c332f
[INFO] running `Command { std: "docker" "start" "-a" "1ac019e418bdc81679823ffaad167fb349a198485eea93afcbdda3700f9c332f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ac019e418bdc81679823ffaad167fb349a198485eea93afcbdda3700f9c332f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ac019e418bdc81679823ffaad167fb349a198485eea93afcbdda3700f9c332f", kill_on_drop: false }`
[INFO] [stdout] 1ac019e418bdc81679823ffaad167fb349a198485eea93afcbdda3700f9c332f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d9c1bd608a0f77257f75027b48a023fc7084ac1151d3bb04cddcc097ac1b126f
[INFO] running `Command { std: "docker" "start" "-a" "d9c1bd608a0f77257f75027b48a023fc7084ac1151d3bb04cddcc097ac1b126f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking slab v0.4.10
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling rustls v0.23.28
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling cc v1.2.29
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking zlib-rs v0.5.1
[INFO] [stderr]     Checking array-init-cursor v0.2.1
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling psm v0.1.26
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling stacker v0.1.21
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking rmp v0.8.14
[INFO] [stderr]     Checking libz-rs-sys v0.5.1
[INFO] [stderr]    Compiling chrono-tz-build v0.4.1
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]    Compiling polars-utils v0.49.1
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]    Compiling polars-schema v0.49.1
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling polars-arrow v0.49.1
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]    Compiling polars-compute v0.49.1
[INFO] [stderr]     Checking debug_unsafe v0.1.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking ethnum v1.5.2
[INFO] [stderr]    Compiling chrono-tz v0.10.3
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking dyn-clone v1.0.19
[INFO] [stderr]     Checking atoi_simd v0.16.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking skiplist v0.5.1
[INFO] [stderr]     Checking arrow-schema v55.2.0
[INFO] [stderr]     Checking fast-float2 v0.2.3
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling polars-core v0.49.1
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking lexical-util v1.0.6
[INFO] [stderr]    Compiling polars-ops v0.49.1
[INFO] [stderr]     Checking boxcar v0.2.13
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking argminmax v0.6.3
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking lexical-parse-integer v1.0.5
[INFO] [stderr]     Checking streaming-decompression v0.1.2
[INFO] [stderr]     Checking lexical-write-integer v1.0.5
[INFO] [stderr]    Compiling polars-plan v0.49.1
[INFO] [stderr]     Checking home v0.5.11
[INFO] [stderr]     Checking glob v0.3.2
[INFO] [stderr]     Checking lexical-write-float v1.0.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking lexical-parse-float v1.0.5
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]     Checking rustls-webpki v0.103.3
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking bytemuck v1.23.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking polars-parquet-format v0.1.0
[INFO] [stderr]    Compiling recursive-proc-macro-impl v0.1.1
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking recursive v0.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking lexical-core v1.0.5
[INFO] [stderr]    Compiling flatbuffers v25.2.10
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking tokio v1.46.1
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking planus v1.1.1
[INFO] [stderr]     Checking quick-xml v0.37.5
[INFO] [stderr]     Checking raw-cpuid v11.5.0
[INFO] [stderr]     Checking polars-arrow-format v0.2.0
[INFO] [stderr]     Checking rmp-serde v1.3.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking arrow-buffer v55.2.0
[INFO] [stderr]     Checking arrow-data v55.2.0
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking arrow-array v55.2.0
[INFO] [stderr]     Checking comfy-table v7.1.4
[INFO] [stderr]     Checking now v0.1.3
[INFO] [stderr]    Compiling xml-rs v0.8.26
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking fs4 v0.13.1
[INFO] [stderr]    Compiling serde-xml-rs v0.5.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]    Compiling polars-stream v0.49.1
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking h2 v0.4.11
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]    Compiling time-tz v2.0.0
[INFO] [stderr]     Checking arrow-select v55.2.0
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking arrow-cast v55.2.0
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking csv-core v0.1.12
[INFO] [stderr]    Compiling polars-lazy v0.49.1
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking predicates-core v1.0.9
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking arrow-ipc v55.2.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]     Checking hyper-util v0.1.15
[INFO] [stderr]     Checking lz4 v1.28.1
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]    Compiling polars v0.49.1
[INFO] [stderr]     Checking integer-encoding v3.0.4
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking twox-hash v2.1.1
[INFO] [stderr]     Checking anstyle-query v1.1.3
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking lz4_flex v0.11.5
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]     Checking predicates-tree v1.0.12
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking thrift v0.17.0
[INFO] [stderr]     Checking brotli v8.0.1
[INFO] [stderr]     Checking arrow-csv v55.2.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking predicates v3.1.3
[INFO] [stderr]     Checking arrow-json v55.2.0
[INFO] [stderr]     Checking reqwest v0.12.22
[INFO] [stderr]     Checking arrow-ord v55.2.0
[INFO] [stderr]     Checking arrow-string v55.2.0
[INFO] [stderr]     Checking arrow-row v55.2.0
[INFO] [stderr]     Checking object_store v0.12.2
[INFO] [stderr]     Checking arrow-arith v55.2.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking proptest v1.7.0
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking arrow v55.2.0
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking mockall v0.13.1
[INFO] [stderr]     Checking parquet v55.2.0
[INFO] [stderr]     Checking polars-error v0.49.1
[INFO] [stderr]     Checking ibapi v1.2.2
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking statrs v0.18.0
[INFO] [stderr]     Checking polars-row v0.49.1
[INFO] [stderr]     Checking polars-parquet v0.49.1
[INFO] [stderr]     Checking polars-time v0.49.1
[INFO] [stderr]     Checking polars-io v0.49.1
[INFO] [stderr]     Checking polars-expr v0.49.1
[INFO] [stderr]     Checking polars-mem-engine v0.49.1
[INFO] [stderr]     Checking algotrading v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/momentum.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{debug, info, warn};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/momentum.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{debug, info, warn};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VolatilityRegime`
[INFO] [stdout]  --> src/signals/bollinger.rs:7:82
[INFO] [stdout]   |
[INFO] [stdout] 7 |     BollingerCalculator, BollingerMetrics, BollingerSignal, BollingerSignalType, VolatilityRegime,
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookback_periods` is never read
[INFO] [stdout]   --> src/carry.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct CarryStrategy {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 51 |     lookback_periods: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_position_hint` is never used
[INFO] [stdout]    --> src/signals/bollinger.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl BollingerSignalGenerator {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn calculate_position_hint(&self, signal: &BollingerSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookback_periods` and `volatility_threshold` are never read
[INFO] [stdout]   --> src/signals/carry.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct CarrySignalGenerator {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 15 |     lookback_periods: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     volatility_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_position_hint` is never used
[INFO] [stdout]    --> src/signals/momentum.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl MomentumSignalGenerator {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn calculate_position_hint(&self, signal: &MomentumSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookback_periods` is never read
[INFO] [stdout]   --> src/carry.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct CarryStrategy {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 51 |     lookback_periods: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_position_hint` is never used
[INFO] [stdout]    --> src/signals/bollinger.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl BollingerSignalGenerator {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn calculate_position_hint(&self, signal: &BollingerSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_position_hint` is never used
[INFO] [stdout]    --> src/signals/momentum.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl MomentumSignalGenerator {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn calculate_position_hint(&self, signal: &MomentumSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MarketImpactModel`
[INFO] [stdout]  --> tests/transaction_cost_tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     MarketImpactModel, TransactionCostCalculator, TransactionCostConfig,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algotrading::portfolio::Portfolio`
[INFO] [stdout]  --> tests/position_inertia_tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use algotrading::portfolio::Portfolio;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algotrading::security_types::SecurityType`
[INFO] [stdout]  --> tests/position_inertia_tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use algotrading::security_types::SecurityType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algotrading::transaction_cost::TransactionCostCalculator`
[INFO] [stdout]  --> tests/position_inertia_tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use algotrading::transaction_cost::TransactionCostCalculator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algotrading::portfolio::Portfolio`
[INFO] [stdout]  --> tests/risk_budgeting_inertia_tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use algotrading::portfolio::Portfolio;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algotrading::position_inertia::PositionInertiaCalculator`
[INFO] [stdout]  --> tests/risk_budgeting_inertia_tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use algotrading::position_inertia::PositionInertiaCalculator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ERCAllocation` and `RiskBudgeter`
[INFO] [stdout]  --> tests/risk_budgeting_inertia_tests.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use algotrading::risk_budgeting::{ERCAllocation, RiskBudgeter};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algotrading::security_types::SecurityType`
[INFO] [stdout]  --> tests/risk_budgeting_inertia_tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use algotrading::security_types::SecurityType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algotrading::transaction_cost::TransactionCostCalculator`
[INFO] [stdout]  --> tests/risk_budgeting_inertia_tests.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use algotrading::transaction_cost::TransactionCostCalculator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/position_inertia_tests.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let mut config = InertiaConfig {
[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 import: `Position`
[INFO] [stdout]  --> tests/trading_integration_tests.rs:3:41
[INFO] [stdout]   |
[INFO] [stdout] 3 | use algotrading::portfolio::{Portfolio, Position};
[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 variable: `filter_result`
[INFO] [stdout]    --> tests/trading_integration_tests.rs:243:32
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let (filtered_signals, filter_result) = integration_layer
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/momentum.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{debug, info, warn};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VolatilityRegime`
[INFO] [stdout]  --> src/signals/bollinger.rs:7:82
[INFO] [stdout]   |
[INFO] [stdout] 7 |     BollingerCalculator, BollingerMetrics, BollingerSignal, BollingerSignalType, VolatilityRegime,
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/momentum.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{debug, info, warn};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `middle_line` is never read
[INFO] [stdout]  --> src/bollinger.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BollingerBands {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 6 |     pub middle_line: f64,   // Simple moving average
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BollingerBands` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol` and `timeframe` are never read
[INFO] [stdout]   --> src/bollinger.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BollingerSignal {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 16 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 17 |     pub timeframe: TimeFrame,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BollingerSignal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dominant_signal` is never read
[INFO] [stdout]   --> src/bollinger.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct BollingerMetrics {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub dominant_signal: Option<BollingerSignal>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BollingerMetrics` 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: associated function `with_settings` is never used
[INFO] [stdout]   --> src/bollinger.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl BollingerCalculator {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn with_settings(period: usize, std_multiplier: f64, squeeze_threshold: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol`, `timeframe`, `lookback_high`, `lookback_low`, and `volatility_normalized` are never read
[INFO] [stdout]   --> src/breakout.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct BreakoutSignal {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  6 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]  7 |     pub timeframe: TimeFrame,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub lookback_high: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub lookback_low: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub volatility_normalized: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BreakoutSignal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `strongest_signal` is never read
[INFO] [stdout]   --> src/breakout.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct BreakoutMetrics {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub strongest_signal: Option<BreakoutSignal>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BreakoutMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookback_periods` is never read
[INFO] [stdout]   --> src/breakout.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct BreakoutCalculator {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub lookback_periods: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BreakoutCalculator` 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: associated function `with_settings` is never used
[INFO] [stdout]   --> src/breakout.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl BreakoutCalculator {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn with_settings(
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CarrySignalType` is never used
[INFO] [stdout]  --> src/carry.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum CarrySignalType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterestRateDifferential` is never constructed
[INFO] [stdout]   --> src/carry.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct InterestRateDifferential {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarrySignal` is never constructed
[INFO] [stdout]   --> src/carry.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct CarrySignal {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiTimeframeCarry` is never constructed
[INFO] [stdout]   --> src/carry.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct MultiTimeframeCarry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarryStrategy` is never constructed
[INFO] [stdout]   --> src/carry.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct CarryStrategy {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `calculate_carry_signal`, `calculate_multi_timeframe_carry`, `carry_to_signal_strength`, `calculate_carry_percentiles`, and `determine_signal_type` are never used
[INFO] [stdout]    --> src/carry.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl CarryStrategy {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  58 |     /// Create new carry strategy with Carver parameters
[INFO] [stdout]  59 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn calculate_carry_signal(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn calculate_multi_timeframe_carry(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn carry_to_signal_strength(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn calculate_carry_percentiles(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn determine_signal_type(&self, differential: f64, volatility: f64) -> CarrySignalType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/config.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl TradingConfig {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 237 |     pub fn load() -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/connection.rs:47:18
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl TwsClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub async fn connect(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn request_market_data(&self, symbol: &str, req_id: i32) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub async fn place_enhanced_order(&self, params: OrderParams) -> Result<i32> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub async fn place_limit_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn place_stop_loss_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub async fn place_take_profit_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub async fn place_bracket_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub async fn unsubscribe_realtime_data(&self, req_id: i32) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `account` and `contract` are never read
[INFO] [stdout]    --> src/connection.rs:765:9
[INFO] [stdout]     |
[INFO] [stdout] 764 | pub struct AccountPosition {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 765 |     pub account: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 769 |     pub contract: Contract,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AccountPosition` 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: enum `ContractMonth` is never used
[INFO] [stdout]  --> src/futures_utils.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum ContractMonth {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `code`, `from_month`, and `to_month` are never used
[INFO] [stdout]   --> src/futures_utils.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ContractMonth {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 22 |     /// Get the month code for CME contracts
[INFO] [stdout] 23 |     pub fn code(&self) -> char {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn from_month(month: u32) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn to_month(self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarginInfo` is never constructed
[INFO] [stdout]   --> src/margin.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MarginInfo {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `margin_utilization_after` and `excess_liquidity_after` are never read
[INFO] [stdout]   --> src/margin.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct MarginValidation {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub margin_utilization_after: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub excess_liquidity_after: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarginValidation` 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: function `calculate_max_position_size` is never used
[INFO] [stdout]    --> src/margin.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn calculate_max_position_size(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_portfolio_margin_stats` is never used
[INFO] [stdout]    --> src/margin.rs:326:8
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn calculate_portfolio_margin_stats(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeframe` is never read
[INFO] [stdout]    --> src/market_data.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct EnhancedMomentumMetrics {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub timeframe: TimeFrame,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnhancedMomentumMetrics` 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 `symbol` and `weighted_score` are never read
[INFO] [stdout]    --> src/market_data.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct MultiTimeframeMomentum {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 111 |     pub symbol: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub weighted_score: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MultiTimeframeMomentum` 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 `bid_price`, `ask_price`, and `timestamp` are never read
[INFO] [stdout]    --> src/market_data.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct MarketDataUpdate {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub bid_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 122 |     pub ask_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 123 |     pub volume: i64,
[INFO] [stdout] 124 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarketDataUpdate` 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 `bid_price`, `ask_price`, and `security_info` are never read
[INFO] [stdout]    --> src/market_data.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct MarketData {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub bid_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 132 |     pub ask_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub security_info: Option<SecurityInfo>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarketData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `symbol` is never read
[INFO] [stdout]    --> src/market_data.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct PriceHistory {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 140 |     pub symbol: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PriceHistory` 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: enum `OrderType` is never used
[INFO] [stdout]  --> src/order_types.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/order_types.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum TimeInForce {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrderParams` is never constructed
[INFO] [stdout]   --> src/order_types.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct OrderParams {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `stop_order`, `stop_limit_order`, `trailing_stop_order`, `bracket_order`, and `from_params` are never used
[INFO] [stdout]    --> src/order_types.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl EnhancedOrderBuilder {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn stop_order(action: OrderAction, quantity: f64, stop_price: f64) -> Order {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn stop_limit_order(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn trailing_stop_order(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn bracket_order(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn from_params(params: OrderParams) -> Result<Order> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RiskOrders` is never constructed
[INFO] [stdout]    --> src/order_types.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct RiskOrders;
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `stop_loss_for_position`, `take_profit_for_position`, and `trailing_stop_for_position` are never used
[INFO] [stdout]    --> src/order_types.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl RiskOrders {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] 242 |     /// Create a stop loss order for an existing position
[INFO] [stdout] 243 |     pub fn stop_loss_for_position(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn take_profit_for_position(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn trailing_stop_for_position(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stop_price` and `timestamp` are never read
[INFO] [stdout]   --> src/orders.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Order {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub stop_price: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 30 |     pub status: OrderStatus,
[INFO] [stdout] 31 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Order` 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 `Filled`, `PartiallyFilled`, and `Cancelled` are never constructed
[INFO] [stdout]   --> src/orders.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum OrderStatus {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 39 |     Filled,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     PartiallyFilled,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     Cancelled,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderStatus` 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 `get_pending_orders`, `get_order`, and `cancel_order` are never used
[INFO] [stdout]    --> src/orders.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl OrderManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_pending_orders(&self) -> Vec<&Order> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn get_order(&self, order_id: i32) -> Option<&Order> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn cancel_order(&mut self, order_id: i32) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol` and `realized_pnl` are never read
[INFO] [stdout]   --> src/portfolio.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Position {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub realized_pnl: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Position` 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 `total_realized_pnl` and `timestamp` are never read
[INFO] [stdout]   --> src/portfolio.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct PortfolioStats {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub total_realized_pnl: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub positions_count: usize,
[INFO] [stdout] 28 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PortfolioStats` 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: method `update_position` is never used
[INFO] [stdout]   --> src/portfolio.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Portfolio {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn update_position(&mut self, symbol: &str, quantity: f64, price: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostBenefitAnalysis` is never constructed
[INFO] [stdout]   --> src/position_inertia.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct CostBenefitAnalysis {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `analyze_portfolio_rebalancing` and `calculate_cost_benefit_analysis` are never used
[INFO] [stdout]    --> src/position_inertia.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl PositionInertiaCalculator {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn analyze_portfolio_rebalancing(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn calculate_cost_benefit_analysis(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_position`, `get_positioned_symbols`, and `clear_positions` are never used
[INFO] [stdout]   --> src/position_manager.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl PositionManager {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn remove_position(&mut self, symbol: &str) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_positioned_symbols(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn clear_positions(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_position_value` and `available_capital` are never read
[INFO] [stdout]   --> src/risk.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct RiskMetrics {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 10 |     pub portfolio_value: f64,
[INFO] [stdout] 11 |     pub max_position_value: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub current_exposure: f64,
[INFO] [stdout] 13 |     pub available_capital: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskMetrics` 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 `symbol` and `risk_amount` are never read
[INFO] [stdout]   --> src/risk.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct PositionRisk {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 20 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub risk_amount: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PositionRisk` 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: variant `HoldPosition` is never constructed
[INFO] [stdout]   --> src/risk.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum RiskAction {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 47 |     HoldPosition,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskAction` 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 `calculate_max_position_size`, `update_stop_loss`, and `update_take_profit` are never used
[INFO] [stdout]    --> src/risk.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl RiskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn calculate_max_position_size(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub fn update_stop_loss(&mut self, symbol: String, stop_loss_price: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn update_take_profit(&mut self, symbol: String, take_profit_price: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `volatility` is never read
[INFO] [stdout]   --> src/risk_budgeting.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct RiskContribution {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub volatility: f64,        // Individual instrument volatility
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskContribution` 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 `target_portfolio_volatility`, `diversification_ratio`, `concentration_score`, `largest_risk_contributor`, and `risk_budget_violations` are never read
[INFO] [stdout]   --> src/risk_budgeting.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RiskAttribution {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 37 |     pub total_portfolio_volatility: f64,
[INFO] [stdout] 38 |     pub target_portfolio_volatility: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     pub risk_contributions: Vec<RiskContribution>,
[INFO] [stdout] 40 |     pub diversification_ratio: f64, // Actual vs theoretical portfolio volatility
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub concentration_score: f64,   // Measure of concentration risk (0-1)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub largest_risk_contributor: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     pub risk_budget_violations: Vec<String>, // Positions exceeding risk budget
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskAttribution` 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 `risk_contribution_current` and `risk_contribution_target` are never read
[INFO] [stdout]   --> src/risk_budgeting.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ERCAllocation {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub risk_contribution_current: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub risk_contribution_target: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ERCAllocation` 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 `average_correlation`, `max_correlation`, and `correlation_clusters` are never read
[INFO] [stdout]   --> src/risk_budgeting.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct CorrelationRisk {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 60 |     pub average_correlation: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     pub max_correlation: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     pub correlation_clusters: Vec<Vec<String>>, // Groups of highly correlated assets
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CorrelationRisk` 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 `update_correlation`, `update_volatility`, and `generate_rebalancing_recommendations` are never used
[INFO] [stdout]    --> src/risk_budgeting.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl RiskBudgeter {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn update_correlation(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn update_volatility(&mut self, symbol: &str, volatility: f64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub fn generate_rebalancing_recommendations(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ERCInertiaDecision` is never used
[INFO] [stdout]  --> src/risk_budgeting_inertia.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum ERCInertiaDecision {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ERCInertiaDecisionInfo` is never constructed
[INFO] [stdout]   --> src/risk_budgeting_inertia.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ERCInertiaDecisionInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RiskBudgetingInertiaCalculator` is never constructed
[INFO] [stdout]   --> src/risk_budgeting_inertia.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RiskBudgetingInertiaCalculator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `calculate_erc_with_inertia`, `calculate_erc_with_correlation_risk`, and `calculate_erc_with_volatility_adjustment` are never used
[INFO] [stdout]    --> src/risk_budgeting_inertia.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl RiskBudgetingInertiaCalculator {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout]  34 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn calculate_erc_with_inertia(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn calculate_erc_with_correlation_risk(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn calculate_erc_with_volatility_adjustment(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_contract_value` and `get_forex_description` are never used
[INFO] [stdout]    --> src/security_types.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl SecurityInfo {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn get_contract_value(&self, price: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_forex_description(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BollingerSignalGenerator` is never constructed
[INFO] [stdout]   --> src/signals/bollinger.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BollingerSignalGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_calculator` are never used
[INFO] [stdout]   --> src/signals/bollinger.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl BollingerSignalGenerator {
[INFO] [stdout]    | ----------------------------- associated functions in this implementation
[INFO] [stdout] 21 |     /// Create new bollinger signal generator with default settings
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn with_calculator(calculator: BollingerCalculator) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_signal`, `calculate_position_hint`, and `assess_signal_quality` are never used
[INFO] [stdout]    --> src/signals/bollinger.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl BollingerSignalGenerator {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 228 |     /// Validate signal data for consistency and reasonable values
[INFO] [stdout] 229 |     fn validate_signal(&self, signal: &BollingerSignal) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn calculate_position_hint(&self, signal: &BollingerSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn assess_signal_quality(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BreakoutSignalGenerator` is never constructed
[INFO] [stdout]   --> src/signals/breakout.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct BreakoutSignalGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_calculator` are never used
[INFO] [stdout]   --> src/signals/breakout.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl BreakoutSignalGenerator {
[INFO] [stdout]    | ---------------------------- associated functions in this implementation
[INFO] [stdout] 19 |     /// Create new breakout signal generator with default settings
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn with_calculator(calculator: BreakoutCalculator) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `assess_signal_quality` is never used
[INFO] [stdout]    --> src/signals/breakout.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl BreakoutSignalGenerator {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] 106 |     /// Assess signal quality based on strength and breakout characteristics
[INFO] [stdout] 107 |     fn assess_signal_quality(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarrySignalGenerator` is never constructed
[INFO] [stdout]   --> src/signals/carry.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct CarrySignalGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `default_forex`, `calculate_raw_carry_signal`, and `get_interest_rates` are never used
[INFO] [stdout]    --> src/signals/carry.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl CarrySignalGenerator {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  22 |     /// Create new carry signal generator
[INFO] [stdout]  23 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub fn default_forex() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     fn calculate_raw_carry_signal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn get_interest_rates(&self, symbol: &str) -> Result<InterestRateDifferential> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_default_signal` is never used
[INFO] [stdout]    --> src/signals/carry.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 267 | impl CarrySignalGenerator {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 268 |     /// Create a default signal for missing timeframes
[INFO] [stdout] 269 |     fn create_default_signal(&self, symbol: &str, timeframe: TimeFrame) -> CarrySignal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calculate_all_signals`, `update_weights`, `config`, and `extract_signal_from_metrics` are never used
[INFO] [stdout]    --> src/signals/coordinator.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl SignalCoordinator {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn calculate_all_signals<M, B, C>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn update_weights(&mut self, new_weights: SignalWeights) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn config(&self) -> &CoordinatorConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     fn extract_signal_from_metrics<T>(&self, _metrics: T, signal_type: SignalType) -> SignalCore {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoordinatorBuilder` is never constructed
[INFO] [stdout]    --> src/signals/coordinator.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct CoordinatorBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_weights`, `with_consensus_threshold`, `with_quality_threshold`, `with_cross_validation`, and `build` are never used
[INFO] [stdout]    --> src/signals/coordinator.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | impl CoordinatorBuilder {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 338 |     /// Create new coordinator builder
[INFO] [stdout] 339 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn with_weights(mut self, weights: SignalWeights) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub fn with_consensus_threshold(mut self, threshold: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn with_quality_threshold(mut self, threshold: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn with_cross_validation(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn build(self) -> Result<SignalCoordinator> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_actionable` and `direction` are never used
[INFO] [stdout]   --> src/signals/core.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl SignalCore {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn is_actionable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn direction(&self) -> i8 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiTimeframeCore` is never constructed
[INFO] [stdout]   --> src/signals/core.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct MultiTimeframeCore<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_signal`, `has_strong_consensus`, and `active_timeframes` are never used
[INFO] [stdout]    --> src/signals/core.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | / impl<T> MultiTimeframeCore<T>
[INFO] [stdout]  90 | | where
[INFO] [stdout]  91 | |     T: Clone,
[INFO] [stdout]     | |_____________- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |       pub fn new(
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |       pub fn get_signal(&self, timeframe: &TimeFrame) -> Option<&T> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |       pub fn has_strong_consensus(&self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |       pub fn active_timeframes(&self) -> usize {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `has_actionable_signals`, and `max_signal_strength` are never used
[INFO] [stdout]    --> src/signals/core.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl CombinedSignals {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 139 |     /// Create empty combined signals
[INFO] [stdout] 140 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn has_actionable_signals(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn max_signal_strength(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SignalGenerator` is never used
[INFO] [stdout]    --> src/signals/core.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub trait SignalGenerator {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `normalize` is never used
[INFO] [stdout]    --> src/signals/core.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl SignalWeights {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn normalize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignalExample` is never constructed
[INFO] [stdout]   --> src/signals/example.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SignalExample;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run_basic_example`, `analyze_signal_types`, and `advanced_coordination_example` are never used
[INFO] [stdout]    --> src/signals/example.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl SignalExample {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout]  14 |     /// Demonstrate basic signal generation and coordination
[INFO] [stdout]  15 |     pub fn run_basic_example(market_data: &MarketDataHandler) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn analyze_signal_types(market_data: &MarketDataHandler, symbols: &[&str]) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn advanced_coordination_example() -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MomentumSignal` is never constructed
[INFO] [stdout]   --> src/signals/momentum.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MomentumSignal {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MomentumMetrics` is never constructed
[INFO] [stdout]   --> src/signals/momentum.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct MomentumMetrics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MomentumSignalGenerator` is never constructed
[INFO] [stdout]   --> src/signals/momentum.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct MomentumSignalGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_lookback` are never used
[INFO] [stdout]   --> src/signals/momentum.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl MomentumSignalGenerator {
[INFO] [stdout]    | ---------------------------- associated functions in this implementation
[INFO] [stdout] 42 |     /// Create new momentum signal generator with default settings
[INFO] [stdout] 43 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn with_lookback(lookback_period: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_signal`, `calculate_position_hint`, `calculate_carver_signal_strength`, and `assess_signal_quality` are never used
[INFO] [stdout]    --> src/signals/momentum.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl MomentumSignalGenerator {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] 202 |     /// Validate momentum signal data for consistency
[INFO] [stdout] 203 |     fn validate_signal(&self, signal: &MomentumSignal) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn calculate_position_hint(&self, signal: &MomentumSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     fn calculate_carver_signal_strength(&self, signal: &MomentumSignal) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     fn assess_signal_quality(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/signals/utils.rs:22:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl SignalUtils {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub fn calculate_volatility(prices: &[f64], annualized: bool) -> Result<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn calculate_simple_volatility(prices: &[f64], annualized: bool) -> Result<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn calculate_percentile_rank(current_value: f64, historical_values: &[f64]) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn calculate_consensus_score(signal_strengths: &[f64]) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn calculate_quality_multiplier(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn calculate_regime_adjustment(current_volatility: f64, average_volatility: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn calculate_composite_signal(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn default_timeframe_weights() -> HashMap<TimeFrame, f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn calculate_signal_sharpe(signal_strength: f64, volatility: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn validate_signal_data(signal_strength: f64, percentile_rank: f64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sharpe_ratio` is never used
[INFO] [stdout]   --> src/stats.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn sharpe_ratio(returns: &[f64], risk_free_rate: f64, periods_per_year: f64) -> Result<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sortino_ratio` is never used
[INFO] [stdout]   --> src/stats.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn sortino_ratio(returns: &[f64], risk_free_rate: f64, periods_per_year: f64) -> Result<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_drawdown` is never used
[INFO] [stdout]   --> src/stats.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn max_drawdown(values: &[f64]) -> Result<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `win_rate` is never used
[INFO] [stdout]   --> src/stats.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn win_rate(returns: &[f64]) -> Result<f64> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `profit_factor` is never used
[INFO] [stdout]   --> src/stats.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn profit_factor(returns: &[f64]) -> Result<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `t_test_returns` is never used
[INFO] [stdout]    --> src/stats.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn t_test_returns(returns: &[f64], confidence_level: f64) -> Result<TTestResult> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TTestResult` is never constructed
[INFO] [stdout]    --> src/stats.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct TTestResult {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `information_ratio` is never used
[INFO] [stdout]    --> src/stats.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn information_ratio(returns: &[f64], benchmark_returns: &[f64]) -> Result<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rolling_correlation` is never used
[INFO] [stdout]    --> src/stats.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn rolling_correlation(series1: &[f64], series2: &[f64], window: usize) -> Result<Vec<f64>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PortfolioStats` is never constructed
[INFO] [stdout]    --> src/stats.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct PortfolioStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `calculate` is never used
[INFO] [stdout]    --> src/stats.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl PortfolioStats {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 239 |     pub fn calculate(returns: &[f64], risk_free_rate: f64, periods_per_year: f64) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_order_cost`, `update_spread_for_symbol`, and `get_inertia_config` are never used
[INFO] [stdout]    --> src/trading_integration.rs:291:18
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl TradingIntegrationLayer {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub async fn validate_order_cost(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub async fn update_spread_for_symbol(&self, symbol: &str, spread: f64) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub async fn get_inertia_config(&self) -> Result<InertiaConfig> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketImpactModel` is never constructed
[INFO] [stdout]   --> src/transaction_cost.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MarketImpactModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_round_trip_cost` is never used
[INFO] [stdout]    --> src/transaction_cost.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl TransactionCostCalculator {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn calculate_round_trip_cost(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_all_volatilities` and `has_sufficient_data` are never used
[INFO] [stdout]    --> src/volatility.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl VolatilityCalculator {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_all_volatilities(&self) -> &HashMap<String, f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn has_sufficient_data(&self, symbol: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `risk_config` is never read
[INFO] [stdout]    --> src/volatility.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct VolatilityTargeter {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub risk_config: RiskConfig,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VolatilityTargeter` 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 `calculate_idm`, `calculate_fdm`, `get_portfolio_volatility`, and `is_volatility_on_target` are never used
[INFO] [stdout]    --> src/volatility.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl VolatilityTargeter {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn calculate_idm(&self, num_instruments: usize) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn calculate_fdm(&self, num_signals: usize) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn get_portfolio_volatility(&self, positions: &HashMap<String, f64>) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub fn is_volatility_on_target(&self, positions: &HashMap<String, f64>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lookback_high` and `lookback_low` are never read
[INFO] [stdout]   --> src/breakout.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct BreakoutSignal {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub lookback_high: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub lookback_low: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BreakoutSignal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lookback_periods` is never read
[INFO] [stdout]   --> src/carry.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct CarryStrategy {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 51 |     lookback_periods: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/config.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl TradingConfig {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 237 |     pub fn load() -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/connection.rs:47:18
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl TwsClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub async fn connect(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn request_market_data(&self, symbol: &str, req_id: i32) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub async fn place_enhanced_order(&self, params: OrderParams) -> Result<i32> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub async fn place_limit_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub async fn place_stop_loss_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub async fn place_take_profit_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub async fn place_bracket_order(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `account` and `contract` are never read
[INFO] [stdout]    --> src/connection.rs:765:9
[INFO] [stdout]     |
[INFO] [stdout] 764 | pub struct AccountPosition {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 765 |     pub account: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 769 |     pub contract: Contract,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AccountPosition` 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 `MarginInfo` is never constructed
[INFO] [stdout]   --> src/margin.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MarginInfo {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `excess_liquidity_after` is never read
[INFO] [stdout]   --> src/margin.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct MarginValidation {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub excess_liquidity_after: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarginValidation` 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: function `calculate_max_position_size` is never used
[INFO] [stdout]    --> src/margin.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn calculate_max_position_size(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_portfolio_margin_stats` is never used
[INFO] [stdout]    --> src/margin.rs:326:8
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn calculate_portfolio_margin_stats(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeframe` is never read
[INFO] [stdout]    --> src/market_data.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct EnhancedMomentumMetrics {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub timeframe: TimeFrame,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnhancedMomentumMetrics` 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 `symbol` and `weighted_score` are never read
[INFO] [stdout]    --> src/market_data.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct MultiTimeframeMomentum {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 111 |     pub symbol: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub weighted_score: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MultiTimeframeMomentum` 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 `bid_price`, `ask_price`, and `timestamp` are never read
[INFO] [stdout]    --> src/market_data.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct MarketDataUpdate {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub bid_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 122 |     pub ask_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 123 |     pub volume: i64,
[INFO] [stdout] 124 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarketDataUpdate` 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 `bid_price`, `ask_price`, and `security_info` are never read
[INFO] [stdout]    --> src/market_data.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct MarketData {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub bid_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 132 |     pub ask_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub security_info: Option<SecurityInfo>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarketData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `symbol` is never read
[INFO] [stdout]    --> src/market_data.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct PriceHistory {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 140 |     pub symbol: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PriceHistory` 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: associated functions `stop_limit_order`, `trailing_stop_order`, and `from_params` are never used
[INFO] [stdout]    --> src/order_types.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl EnhancedOrderBuilder {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn stop_limit_order(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn trailing_stop_order(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn from_params(params: OrderParams) -> Result<Order> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `trailing_stop_for_position` is never used
[INFO] [stdout]    --> src/order_types.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl RiskOrders {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn trailing_stop_for_position(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stop_price` and `timestamp` are never read
[INFO] [stdout]   --> src/orders.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Order {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub stop_price: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 30 |     pub status: OrderStatus,
[INFO] [stdout] 31 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Order` 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 `Filled`, `PartiallyFilled`, and `Cancelled` are never constructed
[INFO] [stdout]   --> src/orders.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum OrderStatus {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 39 |     Filled,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     PartiallyFilled,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     Cancelled,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderStatus` 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 `get_pending_orders`, `get_order`, and `cancel_order` are never used
[INFO] [stdout]    --> src/orders.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl OrderManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_pending_orders(&self) -> Vec<&Order> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn get_order(&self, order_id: i32) -> Option<&Order> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn cancel_order(&mut self, order_id: i32) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `symbol` is never read
[INFO] [stdout]  --> src/portfolio.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Position {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 8 |     pub symbol: String,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Position` 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 `total_realized_pnl` and `timestamp` are never read
[INFO] [stdout]   --> src/portfolio.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct PortfolioStats {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub total_realized_pnl: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub positions_count: usize,
[INFO] [stdout] 28 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PortfolioStats` 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 `CostBenefitAnalysis` is never constructed
[INFO] [stdout]   --> src/position_inertia.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct CostBenefitAnalysis {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `analyze_portfolio_rebalancing` and `calculate_cost_benefit_analysis` are never used
[INFO] [stdout]    --> src/position_inertia.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl PositionInertiaCalculator {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn analyze_portfolio_rebalancing(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn calculate_cost_benefit_analysis(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_position`, `get_positioned_symbols`, and `clear_positions` are never used
[INFO] [stdout]   --> src/position_manager.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl PositionManager {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn remove_position(&mut self, symbol: &str) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_positioned_symbols(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn clear_positions(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_position_value` and `available_capital` are never read
[INFO] [stdout]   --> src/risk.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct RiskMetrics {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 10 |     pub portfolio_value: f64,
[INFO] [stdout] 11 |     pub max_position_value: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub current_exposure: f64,
[INFO] [stdout] 13 |     pub available_capital: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskMetrics` 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 `symbol` and `risk_amount` are never read
[INFO] [stdout]   --> src/risk.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct PositionRisk {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 20 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub risk_amount: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PositionRisk` 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: variant `HoldPosition` is never constructed
[INFO] [stdout]   --> src/risk.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum RiskAction {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 47 |     HoldPosition,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskAction` 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 `calculate_max_position_size`, `update_stop_loss`, and `update_take_profit` are never used
[INFO] [stdout]    --> src/risk.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl RiskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn calculate_max_position_size(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub fn update_stop_loss(&mut self, symbol: String, stop_loss_price: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn update_take_profit(&mut self, symbol: String, take_profit_price: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `volatility` is never read
[INFO] [stdout]   --> src/risk_budgeting.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct RiskContribution {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub volatility: f64,        // Individual instrument volatility
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskContribution` 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 `target_portfolio_volatility`, `diversification_ratio`, `concentration_score`, `largest_risk_contributor`, and `risk_budget_violations` are never read
[INFO] [stdout]   --> src/risk_budgeting.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RiskAttribution {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 37 |     pub total_portfolio_volatility: f64,
[INFO] [stdout] 38 |     pub target_portfolio_volatility: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     pub risk_contributions: Vec<RiskContribution>,
[INFO] [stdout] 40 |     pub diversification_ratio: f64, // Actual vs theoretical portfolio volatility
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub concentration_score: f64,   // Measure of concentration risk (0-1)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub largest_risk_contributor: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     pub risk_budget_violations: Vec<String>, // Positions exceeding risk budget
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskAttribution` 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: enum `ERCInertiaDecision` is never used
[INFO] [stdout]  --> src/risk_budgeting_inertia.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum ERCInertiaDecision {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ERCInertiaDecisionInfo` is never constructed
[INFO] [stdout]   --> src/risk_budgeting_inertia.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ERCInertiaDecisionInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RiskBudgetingInertiaCalculator` is never constructed
[INFO] [stdout]   --> src/risk_budgeting_inertia.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RiskBudgetingInertiaCalculator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `calculate_erc_with_inertia`, `calculate_erc_with_correlation_risk`, and `calculate_erc_with_volatility_adjustment` are never used
[INFO] [stdout]    --> src/risk_budgeting_inertia.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl RiskBudgetingInertiaCalculator {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout]  34 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn calculate_erc_with_inertia(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn calculate_erc_with_correlation_risk(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn calculate_erc_with_volatility_adjustment(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_contract_value` and `get_forex_description` are never used
[INFO] [stdout]    --> src/security_types.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl SecurityInfo {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn get_contract_value(&self, price: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_forex_description(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_position_hint` is never used
[INFO] [stdout]    --> src/signals/bollinger.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl BollingerSignalGenerator {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn calculate_position_hint(&self, signal: &BollingerSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calculate_all_signals`, `update_weights`, and `extract_signal_from_metrics` are never used
[INFO] [stdout]    --> src/signals/coordinator.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl SignalCoordinator {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn calculate_all_signals<M, B, C>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn update_weights(&mut self, new_weights: SignalWeights) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     fn extract_signal_from_metrics<T>(&self, _metrics: T, signal_type: SignalType) -> SignalCore {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiTimeframeCore` is never constructed
[INFO] [stdout]   --> src/signals/core.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct MultiTimeframeCore<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_signal`, `has_strong_consensus`, and `active_timeframes` are never used
[INFO] [stdout]    --> src/signals/core.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | / impl<T> MultiTimeframeCore<T>
[INFO] [stdout]  90 | | where
[INFO] [stdout]  91 | |     T: Clone,
[INFO] [stdout]     | |_____________- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |       pub fn new(
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |       pub fn get_signal(&self, timeframe: &TimeFrame) -> Option<&T> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |       pub fn has_strong_consensus(&self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |       pub fn active_timeframes(&self) -> usize {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty` and `max_signal_strength` are never used
[INFO] [stdout]    --> src/signals/core.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl CombinedSignals {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 139 |     /// Create empty combined signals
[INFO] [stdout] 140 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn max_signal_strength(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate_signal` is never used
[INFO] [stdout]    --> src/signals/core.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub trait SignalGenerator {
[INFO] [stdout]     |           --------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn validate_signal(&self, signal: &Self::Signal) -> SignalQuality {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `normalize` is never used
[INFO] [stdout]    --> src/signals/core.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl SignalWeights {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn normalize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `run_basic_example` is never used
[INFO] [stdout]   --> src/signals/example.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl SignalExample {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 14 |     /// Demonstrate basic signal generation and coordination
[INFO] [stdout] 15 |     pub fn run_basic_example(market_data: &MarketDataHandler) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `multi_timeframe` is never read
[INFO] [stdout]   --> src/signals/momentum.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct MomentumMetrics {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub multi_timeframe: Option<MultiTimeframeMomentum>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MomentumMetrics` 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: method `calculate_position_hint` is never used
[INFO] [stdout]    --> src/signals/momentum.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl MomentumSignalGenerator {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn calculate_position_hint(&self, signal: &MomentumSignal, carver_strength: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate_simple_volatility`, `calculate_consensus_score`, `calculate_signal_sharpe`, and `validate_signal_data` are never used
[INFO] [stdout]    --> src/signals/utils.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl SignalUtils {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn calculate_simple_volatility(prices: &[f64], annualized: bool) -> Result<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn calculate_consensus_score(signal_strengths: &[f64]) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn calculate_signal_sharpe(signal_strength: f64, volatility: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn validate_signal_data(signal_strength: f64, percentile_rank: f64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sortino_ratio` is never used
[INFO] [stdout]   --> src/stats.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn sortino_ratio(returns: &[f64], risk_free_rate: f64, periods_per_year: f64) -> Result<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `profit_factor` is never used
[INFO] [stdout]   --> src/stats.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn profit_factor(returns: &[f64]) -> Result<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `t_statistic`, `mean`, `std_error`, and `confidence_level` are never read
[INFO] [stdout]    --> src/stats.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct TTestResult {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 145 |     pub t_statistic: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub mean: f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 149 |     pub std_error: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 150 |     pub confidence_level: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TTestResult` 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: function `information_ratio` is never used
[INFO] [stdout]    --> src/stats.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn information_ratio(returns: &[f64], benchmark_returns: &[f64]) -> Result<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rolling_correlation` is never used
[INFO] [stdout]    --> src/stats.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn rolling_correlation(series1: &[f64], series2: &[f64], window: usize) -> Result<Vec<f64>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PortfolioStats` is never constructed
[INFO] [stdout]    --> src/stats.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct PortfolioStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `calculate` is never used
[INFO] [stdout]    --> src/stats.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl PortfolioStats {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 239 |     pub fn calculate(returns: &[f64], risk_free_rate: f64, periods_per_year: f64) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_order_cost`, `update_spread_for_symbol`, and `get_inertia_config` are never used
[INFO] [stdout]    --> src/trading_integration.rs:291:18
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl TradingIntegrationLayer {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub async fn validate_order_cost(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub async fn update_spread_for_symbol(&self, symbol: &str, spread: f64) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub async fn get_inertia_config(&self) -> Result<InertiaConfig> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketImpactModel` is never constructed
[INFO] [stdout]   --> src/transaction_cost.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MarketImpactModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_round_trip_cost` is never used
[INFO] [stdout]    --> src/transaction_cost.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl TransactionCostCalculator {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn calculate_round_trip_cost(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all_volatilities` is never used
[INFO] [stdout]    --> src/volatility.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl VolatilityCalculator {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_all_volatilities(&self) -> &HashMap<String, f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `risk_config` is never read
[INFO] [stdout]    --> src/volatility.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct VolatilityTargeter {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub risk_config: RiskConfig,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VolatilityTargeter` 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 `calculate_idm`, `calculate_fdm`, `get_portfolio_volatility`, and `is_volatility_on_target` are never used
[INFO] [stdout]    --> src/volatility.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl VolatilityTargeter {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn calculate_idm(&self, num_instruments: usize) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn calculate_fdm(&self, num_signals: usize) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn get_portfolio_volatility(&self, positions: &HashMap<String, f64>) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub fn is_volatility_on_target(&self, positions: &HashMap<String, f64>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 04s
[INFO] running `Command { std: "docker" "inspect" "d9c1bd608a0f77257f75027b48a023fc7084ac1151d3bb04cddcc097ac1b126f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9c1bd608a0f77257f75027b48a023fc7084ac1151d3bb04cddcc097ac1b126f", kill_on_drop: false }`
[INFO] [stdout] d9c1bd608a0f77257f75027b48a023fc7084ac1151d3bb04cddcc097ac1b126f
