[INFO] cloning repository https://github.com/aeroalgo/robots
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aeroalgo/robots" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faeroalgo%2Frobots", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faeroalgo%2Frobots'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e6f5aae27a228e0699c1ebe70cfe2178221db330
[INFO] checking aeroalgo/robots against master#f57eac1bf98cb5d578e3364b64365ec398c137df for require-direct
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faeroalgo%2Frobots" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aeroalgo/robots
[INFO] finished tweaking git repo https://github.com/aeroalgo/robots
[INFO] tweaked toml for git repo https://github.com/aeroalgo/robots written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aeroalgo/robots on toolchain f57eac1bf98cb5d578e3364b64365ec398c137df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f57eac1bf98cb5d578e3364b64365ec398c137df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aeroalgo/robots 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" "+f57eac1bf98cb5d578e3364b64365ec398c137df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded prost v0.12.6
[INFO] [stderr]   Downloaded hyper-timeout v0.4.1
[INFO] [stderr]   Downloaded tokio-io-timeout v1.2.1
[INFO] [stderr]   Downloaded str_stack v0.1.0
[INFO] [stderr]   Downloaded try-partialord v0.1.3
[INFO] [stderr]   Downloaded convert_case v0.4.0
[INFO] [stderr]   Downloaded prost-derive v0.12.6
[INFO] [stderr]   Downloaded chrono-tz-build v0.2.1
[INFO] [stderr]   Downloaded unicode-ident v1.0.20
[INFO] [stderr]   Downloaded tower v0.4.13
[INFO] [stderr]   Downloaded clickhouse-derive v0.1.1
[INFO] [stderr]   Downloaded arrow-schema v51.0.0
[INFO] [stderr]   Downloaded serde_derive_internals v0.26.0
[INFO] [stderr]   Downloaded half v2.7.1
[INFO] [stderr]   Downloaded clickhouse-rs-cityhash-sys v0.1.2
[INFO] [stderr]   Downloaded arrow-csv v50.0.0
[INFO] [stderr]   Downloaded arrow-row v50.0.0
[INFO] [stderr]   Downloaded darling_macro v0.13.4
[INFO] [stderr]   Downloaded arrow-arith v50.0.0
[INFO] [stderr]   Downloaded arrow-json v50.0.0
[INFO] [stderr]   Downloaded clickhouse v0.11.6
[INFO] [stderr]   Downloaded arrow v50.0.0
[INFO] [stderr]   Downloaded arrow v51.0.0
[INFO] [stderr]   Downloaded async-compression v0.4.19
[INFO] [stderr]   Downloaded arrow-flight v50.0.0
[INFO] [stderr]   Downloaded datafusion-common v37.1.0
[INFO] [stderr]   Downloaded datafusion-optimizer v37.1.0
[INFO] [stderr]   Downloaded datafusion-expr v37.1.0
[INFO] [stderr]   Downloaded object v0.37.3
[INFO] [stderr]   Downloaded trust-dns-proto v0.21.2
[INFO] [stderr]   Downloaded lexical-write-float v0.8.5
[INFO] [stderr]   Downloaded sqlparser v0.44.0
[INFO] [stderr]   Downloaded datafusion-physical-expr v37.1.0
[INFO] [stderr]   Downloaded datafusion-physical-plan v37.1.0
[INFO] [stderr]   Downloaded bson v2.15.0
[INFO] [stderr]   Downloaded inferno v0.11.21
[INFO] [stderr]   Downloaded object_store v0.9.1
[INFO] [stderr]   Downloaded bstr v1.12.0
[INFO] [stderr]   Downloaded idna v0.2.3
[INFO] [stderr]   Downloaded lexical-util v0.8.5
[INFO] [stderr]   Downloaded parquet v50.0.0
[INFO] [stderr]   Downloaded openssl v0.10.74
[INFO] [stderr]   Downloaded symbolic-demangle v12.17.0
[INFO] [stderr]   Downloaded redis v0.24.0
[INFO] [stderr]   Downloaded lexical-parse-float v0.8.5
[INFO] [stderr]   Downloaded protobuf v2.28.0
[INFO] [stderr]   Downloaded datafusion v37.1.0
[INFO] [stderr]   Downloaded chrono v0.4.39
[INFO] [stderr]   Downloaded quick-xml v0.26.0
[INFO] [stderr]   Downloaded chrono-tz v0.8.6
[INFO] [stderr]   Downloaded crossterm v0.27.0
[INFO] [stderr]   Downloaded arrow-array v51.0.0
[INFO] [stderr]   Downloaded parquet v51.0.0
[INFO] [stderr]   Downloaded trust-dns-resolver v0.21.2
[INFO] [stderr]   Downloaded pprof v0.12.1
[INFO] [stderr]   Downloaded axum v0.6.20
[INFO] [stderr]   Downloaded derive_more v0.99.20
[INFO] [stderr]   Downloaded serde_with v1.14.0
[INFO] [stderr]   Downloaded arrow-select v51.0.0
[INFO] [stderr]   Downloaded snafu v0.7.5
[INFO] [stderr]   Downloaded ipconfig v0.3.2
[INFO] [stderr]   Downloaded typed-builder v0.10.0
[INFO] [stderr]   Downloaded lexical-parse-integer v0.8.6
[INFO] [stderr]   Downloaded arrow-array v50.0.0
[INFO] [stderr]   Downloaded memmap2 v0.9.9
[INFO] [stderr]   Downloaded csv v1.4.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.110
[INFO] [stderr]   Downloaded axum-core v0.3.4
[INFO] [stderr]   Downloaded datafusion-sql v37.1.0
[INFO] [stderr]   Downloaded snafu-derive v0.7.5
[INFO] [stderr]   Downloaded retain_mut v0.1.9
[INFO] [stderr]   Downloaded deadpool v0.9.5
[INFO] [stderr]   Downloaded semver v0.9.0
[INFO] [stderr]   Downloaded resolv-conf v0.7.5
[INFO] [stderr]   Downloaded enum-as-inner v0.4.0
[INFO] [stderr]   Downloaded arrow-cast v50.0.0
[INFO] [stderr]   Downloaded is-terminal v0.4.17
[INFO] [stderr]   Downloaded symbolic-common v12.17.0
[INFO] [stderr]   Downloaded postgres-types v0.2.11
[INFO] [stderr]   Downloaded datafusion-functions v37.1.0
[INFO] [stderr]   Downloaded arrow-cast v51.0.0
[INFO] [stderr]   Downloaded doc-comment v0.3.4
[INFO] [stderr]   Downloaded sqlparser_derive v0.2.2
[INFO] [stderr]   Downloaded deadpool-runtime v0.1.4
[INFO] [stderr]   Downloaded deadpool-postgres v0.10.5
[INFO] [stderr]   Downloaded deranged v0.5.4
[INFO] [stderr]   Downloaded rustc_version v0.2.3
[INFO] [stderr]   Downloaded semver-parser v0.7.0
[INFO] [stderr]   Downloaded rustc_version_runtime v0.2.1
[INFO] [stderr]   Downloaded sha-1 v0.10.1
[INFO] [stderr]   Downloaded linked-hash-map v0.5.6
[INFO] [stderr]   Downloaded lru-cache v0.1.2
[INFO] [stderr]   Downloaded matches v0.1.10
[INFO] [stderr]   Downloaded debugid v0.8.0
[INFO] [stderr]   Downloaded phf v0.13.1
[INFO] [stderr]   Downloaded tokio-postgres v0.7.15
[INFO] [stderr]   Downloaded arrow-arith v51.0.0
[INFO] [stderr]   Downloaded arrow-json v51.0.0
[INFO] [stderr]   Downloaded comfy-table v7.1.1
[INFO] [stderr]   Downloaded arrow-ipc v51.0.0
[INFO] [stderr]   Downloaded darling_core v0.13.4
[INFO] [stderr]   Downloaded serde_with_macros v1.5.2
[INFO] [stderr]   Downloaded findshlibs v0.10.2
[INFO] [stderr]   Downloaded phf_shared v0.13.1
[INFO] [stderr]   Downloaded arrow-ord v50.0.0
[INFO] [stderr]   Downloaded arrow-ord v51.0.0
[INFO] [stderr]   Downloaded arrow-data v51.0.0
[INFO] [stderr]   Downloaded darling v0.13.4
[INFO] [stderr]   Downloaded num-format v0.4.4
[INFO] [stderr]   Downloaded hyper-tls v0.5.0
[INFO] [stderr]   Downloaded arrow-buffer v51.0.0
[INFO] [stderr]   Downloaded sha1_smol v1.0.1
[INFO] [stderr]   Downloaded fallible-iterator v0.2.0
[INFO] [stderr]   Downloaded postgres-protocol v0.6.9
[INFO] [stderr]   Downloaded flatbuffers v23.5.26
[INFO] [stderr]   Downloaded arrow-string v50.0.0
[INFO] [stderr]   Downloaded parse-zoneinfo v0.3.1
[INFO] [stderr]   Downloaded enum-iterator v2.3.0
[INFO] [stderr]   Downloaded lexical-write-integer v0.8.5
[INFO] [stderr]   Downloaded lexical-core v0.8.5
[INFO] [stderr]   Downloaded mongodb v2.8.2
[INFO] [stderr]   Downloaded bzip2 v0.5.2
[INFO] [stderr]   Downloaded datafusion-functions-array v37.1.0
[INFO] [stderr]   Downloaded datafusion-execution v37.1.0
[INFO] [stderr]   Downloaded csv-core v0.1.13
[INFO] [stderr]   Downloaded arrow-row v51.0.0
[INFO] [stderr]   Downloaded arrow-string v51.0.0
[INFO] [stderr]   Downloaded backtrace v0.3.76
[INFO] [stderr]   Downloaded sealed v0.4.0
[INFO] [stderr]   Downloaded datafusion-common-runtime v37.1.0
[INFO] [stderr]   Downloaded arrow-csv v51.0.0
[INFO] [stderr]   Downloaded arrow-ipc v50.0.0
[INFO] [stderr]   Downloaded arrow-data v50.0.0
[INFO] [stderr]   Downloaded arrow-schema v50.0.0
[INFO] [stderr]   Downloaded arrow-select v50.0.0
[INFO] [stderr]   Downloaded snap v1.1.1
[INFO] [stderr]   Downloaded lz4_flex v0.11.5
[INFO] [stderr]   Downloaded thrift v0.17.0
[INFO] [stderr]   Downloaded gimli v0.32.3
[INFO] [stderr]   Downloaded syn v2.0.108
[INFO] [stderr]   Downloaded phf_codegen v0.11.3
[INFO] [stderr]   Downloaded arrow-buffer v50.0.0
[INFO] [stderr]   Downloaded twox-hash v2.1.2
[INFO] [stderr]   Downloaded seq-macro v0.3.6
[INFO] [stderr]   Downloaded integer-encoding v3.0.4
[INFO] [stderr]   Downloaded addr2line v0.25.1
[INFO] [stderr]   Downloaded tonic v0.10.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+f57eac1bf98cb5d578e3364b64365ec398c137df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d0bade9e4288638f655c3edab92a409dbeedfa7128829ecabdc4547e272ac306
[INFO] running `Command { std: "docker" "start" "-a" "d0bade9e4288638f655c3edab92a409dbeedfa7128829ecabdc4547e272ac306", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d0bade9e4288638f655c3edab92a409dbeedfa7128829ecabdc4547e272ac306", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0bade9e4288638f655c3edab92a409dbeedfa7128829ecabdc4547e272ac306", kill_on_drop: false }`
[INFO] [stdout] d0bade9e4288638f655c3edab92a409dbeedfa7128829ecabdc4547e272ac306
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+f57eac1bf98cb5d578e3364b64365ec398c137df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66821f9f8d584764a6c76dc557bbf41fff73597cab0ea538f03026de0fc48917
[INFO] running `Command { std: "docker" "start" "-a" "66821f9f8d584764a6c76dc557bbf41fff73597cab0ea538f03026de0fc48917", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.43
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking arrow-schema v51.0.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling flatbuffers v23.5.26
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]    Compiling chrono-tz-build v0.2.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]    Compiling doc-comment v0.3.4
[INFO] [stderr]    Compiling chrono-tz v0.8.6
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]     Checking lz4_flex v0.11.5
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]     Checking arrow-schema v50.0.0
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking brotli-decompressor v2.5.1
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking integer-encoding v3.0.4
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking thrift v0.17.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling snafu-derive v0.7.5
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking brotli v3.5.0
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking arrow-buffer v51.0.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking arrow-data v51.0.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tokio-util v0.7.16
[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]     Checking futures v0.3.31
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking arrow-buffer v50.0.0
[INFO] [stderr]     Checking snafu v0.7.5
[INFO] [stderr]    Compiling sqlparser_derive v0.2.2
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking arrow-data v50.0.0
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling openssl-sys v0.9.110
[INFO] [stderr]     Checking sqlparser v0.44.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking arrow-array v50.0.0
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking comfy-table v7.1.1
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking object_store v0.9.1
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking arrow-select v50.0.0
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]    Compiling openssl v0.10.74
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking arrow-array v51.0.0
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking arrow-cast v50.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking arrow-select v51.0.0
[INFO] [stderr]     Checking arrow-arith v51.0.0
[INFO] [stderr]     Checking arrow-row v51.0.0
[INFO] [stderr]     Checking arrow-cast v51.0.0
[INFO] [stderr]     Checking arrow-ord v51.0.0
[INFO] [stderr]     Checking arrow-string v51.0.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking unicode-properties v0.1.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking arrow-ipc v51.0.0
[INFO] [stderr]     Checking arrow-json v51.0.0
[INFO] [stderr]     Checking arrow-csv v51.0.0
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking parquet v51.0.0
[INFO] [stderr]     Checking arrow v51.0.0
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking deranged v0.5.4
[INFO] [stderr]     Checking postgres-protocol v0.6.9
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling rustc_version_runtime v0.2.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking arrow-ipc v50.0.0
[INFO] [stderr]     Checking debugid v0.8.0
[INFO] [stderr]     Checking tokio-io-timeout v1.2.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling enum-as-inner v0.4.0
[INFO] [stderr]    Compiling findshlibs v0.10.2
[INFO] [stderr]    Compiling clickhouse-rs-cityhash-sys v0.1.2
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking phf_shared v0.13.1
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking rustc-demangle v0.1.26
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]    Compiling symbolic-demangle v12.17.0
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking datafusion-common v37.1.0
[INFO] [stderr]     Checking trust-dns-proto v0.21.2
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]     Checking symbolic-common v12.17.0
[INFO] [stderr]     Checking prost v0.12.6
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking datafusion-expr v37.1.0
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]     Checking postgres-types v0.2.11
[INFO] [stderr]     Checking bzip2 v0.5.2
[INFO] [stderr]     Checking arrow-string v50.0.0
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]     Checking arrow-ord v50.0.0
[INFO] [stderr]     Checking arrow-row v50.0.0
[INFO] [stderr]     Checking arrow-arith v50.0.0
[INFO] [stderr]     Checking num-format v0.4.4
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking datafusion-common-runtime v37.1.0
[INFO] [stderr]    Compiling serde_derive_internals v0.26.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking quick-xml v0.26.0
[INFO] [stderr]    Compiling pprof v0.12.1
[INFO] [stderr]     Checking resolv-conf v0.7.5
[INFO] [stderr]     Checking str_stack v0.1.0
[INFO] [stderr]     Checking retain_mut v0.1.9
[INFO] [stderr]     Checking whoami v1.6.1
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking trust-dns-resolver v0.21.2
[INFO] [stderr]     Checking tokio-postgres v0.7.15
[INFO] [stderr]     Checking datafusion-execution v37.1.0
[INFO] [stderr]     Checking inferno v0.11.21
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking datafusion-sql v37.1.0
[INFO] [stderr]     Checking datafusion-physical-expr v37.1.0
[INFO] [stderr]    Compiling clickhouse-derive v0.1.1
[INFO] [stderr]     Checking deadpool v0.9.5
[INFO] [stderr]     Checking tonic v0.10.2
[INFO] [stderr]     Checking bson v2.15.0
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking serde_with v1.14.0
[INFO] [stderr]     Checking async-compression v0.4.19
[INFO] [stderr]    Compiling sealed v0.4.0
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking arrow-csv v50.0.0
[INFO] [stderr]     Checking arrow-json v50.0.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling enum-iterator-derive v1.5.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling typed-builder v0.10.0
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking datafusion-functions v37.1.0
[INFO] [stderr]     Checking datafusion-physical-plan v37.1.0
[INFO] [stderr]     Checking datafusion-optimizer v37.1.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking mongodb v2.8.2
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking enum-iterator v2.3.0
[INFO] [stderr]     Checking arrow v50.0.0
[INFO] [stderr]     Checking arrow-flight v50.0.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking datafusion-functions-array v37.1.0
[INFO] [stderr]     Checking deadpool-postgres v0.10.5
[INFO] [stderr]     Checking parquet v50.0.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking try-partialord v0.1.3
[INFO] [stderr]     Checking datafusion v37.1.0
[INFO] [stderr]     Checking redis v0.24.0
[INFO] [stderr]     Checking lz4 v1.28.1
[INFO] [stderr]     Checking clickhouse v0.11.6
[INFO] [stderr]     Checking robots v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::metrics::BacktestReport`
[INFO] [stdout]  --> src/backtest/backtest_orchestrator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::metrics::BacktestReport;
[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: `PositionBook`
[INFO] [stdout]  --> src/backtest/backtest_orchestrator.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::position::{PositionBook, PositionManager};
[INFO] [stdout]   |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeframeData`
[INFO] [stdout]  --> src/backtest/condition_evaluator.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::strategy::context::{StrategyContext, TimeframeData};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::candles::aggregator::TimeFrameAggregator`
[INFO] [stdout]  --> src/backtest/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::candles::aggregator::TimeFrameAggregator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeframeData`
[INFO] [stdout]   --> src/backtest/engine.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::strategy::context::{StrategyContext, TimeframeData};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategySignalType`
[INFO] [stdout]   --> src/backtest/engine.rs:15:81
[INFO] [stdout]    |
[INFO] [stdout] 15 |     StrategyDecision, StrategyDefinition, StrategyParameterMap, StrategySignal, StrategySignalType,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeframeData`
[INFO] [stdout]  --> src/backtest/feed_manager.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::strategy::context::{StrategyContext, TimeframeData};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategyError`
[INFO] [stdout]   --> src/backtest/indicator_engine.rs:10:73
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::strategy::types::{IndicatorBindingSpec, IndicatorSourceSpec, StrategyError};
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/candles/aggregator/expander.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{DateTime, Duration, Utc};
[INFO] [stdout]   |              ^^^^^^^^            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/candles/builders.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/candles/builders.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/condition/helpers.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow_flight::flight_service_server::FlightServiceServer`
[INFO] [stdout]  --> src/data_access/database/arrow_flight.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use arrow_flight::flight_service_server::FlightServiceServer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow_flight::sql::server::FlightSqlService`
[INFO] [stdout]  --> src/data_access/database/arrow_flight.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use arrow_flight::sql::server::FlightSqlService;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionType`, `Criteria`, `Empty`, `FlightInfo`, `HandshakeRequest`, `HandshakeResponse`, `PutResult`, `SchemaResult`, and `Ticket`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Action, ActionType, Criteria, Empty, FlightData, FlightDescriptor, FlightInfo,
[INFO] [stdout]    |             ^^^^^^^^^^  ^^^^^^^^  ^^^^^                                ^^^^^^^^^^
[INFO] [stdout] 12 |     HandshakeRequest, HandshakeResponse, PutResult, SchemaResult, Ticket,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response`, `Status`, and `Streaming`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tonic::{Request, Response, Status, Streaming};
[INFO] [stdout]    |                      ^^^^^^^^  ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/database/clickhouse.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/database/datafusion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType` and `Field`
[INFO] [stdout]  --> src/data_access/database/datafusion.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use datafusion::arrow::datatypes::{DataType, Field, Schema};
[INFO] [stdout]   |                                    ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `datafusion::common::Result as DataFusionResult`
[INFO] [stdout]  --> src/data_access/database/datafusion.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use datafusion::common::Result as DataFusionResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/data_access/database/datafusion.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/database/postgresql.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/data_access/database/postgresql.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Row`
[INFO] [stdout]   --> src/data_access/database/postgresql.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio_postgres::{NoTls, Row};
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataAccessError`
[INFO] [stdout]  --> src/data_access/examples/arrow_parquet_examples.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data_access::{DataAccessError, Result};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MongoDBQueryBuilder`, `SortDirection`, and `UserQueryBuilder`
[INFO] [stdout]   --> src/data_access/examples/mongodb_examples.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     MongoDBQueryBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     SortDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     UserQueryBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/data_access/examples/mongodb_examples.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PostgreSQLConfig`
[INFO] [stdout]  --> src/data_access/examples/postgresql_examples.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     PostgreSQLConfig, PostgreSQLConnector, PostgreSQLUtils,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/data_access/examples/postgresql_examples.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/query_builder/arrow.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/data_access/query_builder/arrow.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/arrow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/data_access/query_builder/clickhouse.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/clickhouse.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/data_access/query_builder/postgresql.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/postgresql.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataAccessError` and `Result`
[INFO] [stdout]  --> src/data_access/query_builder/redis.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::{DataAccessError, Result};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/data_access/query_builder/redis.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/redis.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BarBuilderError`
[INFO] [stdout]  --> src/data_model/quote_frame.rs:9:63
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::candles::builders::{BarBuilder, BarBuilderFactory, BarBuilderError};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `TypeId`
[INFO] [stdout]  --> src/di/service_provider.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/di/setup.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::strategy::base::Strategy`
[INFO] [stdout]  --> src/di/setup.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::strategy::base::Strategy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/discovery/strategy_converter/condition_builder.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndicatorInfo`
[INFO] [stdout]  --> src/discovery/strategy_converter/condition_builder.rs:5:46
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::discovery::types::{ConditionInfo, IndicatorInfo};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceField`
[INFO] [stdout]  --> src/discovery/strategy_converter/condition_builder.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     IndicatorBindingSpec, PriceField,
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::discovery::types::StopHandlerInfo`
[INFO] [stdout]  --> src/discovery/strategy_converter/handler_builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::discovery::types::StopHandlerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategyParamValue`
[INFO] [stdout]  --> src/discovery/strategy_converter/handler_builder.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 |     PositionDirection, PriceField, StopHandlerSpec, StrategyParamValue, TakeHandlerSpec,
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/discovery/strategy_converter/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::discovery::config::StrategyDiscoveryConfig`
[INFO] [stdout]  --> src/discovery/strategy_converter/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::discovery::config::StrategyDiscoveryConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConditionInfo` and `IndicatorInfo`
[INFO] [stdout]  --> src/discovery/strategy_converter/main.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::discovery::types::{ConditionInfo, IndicatorInfo};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimization::condition_id::ConditionId`
[INFO] [stdout]  --> src/discovery/strategy_converter/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::optimization::condition_id::ConditionId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConditionBindingSpec`, `ConditionDeclarativeSpec`, `ConditionInputSpec`, `ConditionOperator`, `DataSeriesSource`, `IndicatorBindingSpec`, `IndicatorSourceSpec`, `PositionDirection`, `RuleLogic`, `StopHandlerSpec`, `StrategyCategory`, `StrategyMetadata`, `StrategyParamValue`, `StrategyParameterSpec`, `StrategyRuleSpec`, `StrategySignalType`, and `TakeHandlerSpec`
[INFO] [stdout]   --> src/discovery/strategy_converter/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     ConditionBindingSpec, ConditionDeclarativeSpec, ConditionInputSpec, ConditionOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     DataSeriesSource, IndicatorBindingSpec, IndicatorSourceSpec, PositionDirection, RuleLogic,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 19 |     StopHandlerSpec, StrategyCategory, StrategyDefinition, StrategyMetadata, StrategyParamValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     StrategyParameterMap, StrategyParameterSpec, StrategyRuleSpec, StrategySignalType,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     TakeHandlerSpec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::helpers::get_condition_param_range`
[INFO] [stdout]  --> src/discovery/strategy_converter/parameter_extractor/handler.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::helpers::get_condition_param_range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_default_stop_params` and `get_default_take_params`
[INFO] [stdout]  --> src/discovery/strategy_converter/parameter_extractor/mod.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use handler::{get_default_stop_params, get_default_take_params};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/discovery/types.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataConverter` and `DataValidator`
[INFO] [stdout]  --> src/indicators/base.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     DataConverter, DataValidator, IndicatorCategory, IndicatorError, IndicatorMetadata,
[INFO] [stdout]   |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndicatorId`
[INFO] [stdout]  --> src/indicators/registry.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 |         IndicatorCategory, IndicatorError, IndicatorId, IndicatorType, OHLCData, ParameterSet,
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceField`
[INFO] [stdout]   --> src/indicators/impl/trend/sma.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::strategy::types::{ConditionOperator, PriceField};
[INFO] [stdout]    |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_model::vector_ops::unsafe_ops`
[INFO] [stdout]  --> src/indicators/impl/volatility/atr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::data_model::vector_ops::unsafe_ops;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `implementations::*`
[INFO] [stdout]   --> src/indicators/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use implementations::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/indicators/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use registry::*;
[INFO] [stdout]    |         ^^^^^^^^^^^ the name `IndicatorMetadata` in the type namespace is first re-exported here
[INFO] [stdout] 22 | pub use types::*;
[INFO] [stdout]    |         -------- but the name `IndicatorMetadata` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NestingConfig`
[INFO] [stdout]  --> src/optimization/build_rules_provider.rs:2:52
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::indicators::base::{IndicatorBuildRules, NestingConfig, ThresholdType};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimization::condition_id::ConditionId`
[INFO] [stdout]  --> src/optimization/builders/condition_builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::optimization::condition_id::ConditionId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimization::builders::IndicatorBuilder`
[INFO] [stdout]   --> src/optimization/builders/condition_builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::optimization::builders::IndicatorBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::condition::ConditionParameterPresets`
[INFO] [stdout]  --> src/optimization/candidate_builder/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::condition::ConditionParameterPresets;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `can_accept_nested_input`, `get_allowed_conditions`, `has_absolute_threshold`, and `has_percent_of_price_threshold`
[INFO] [stdout]   --> src/optimization/candidate_builder/helpers.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     can_accept_nested_input, get_allowed_conditions, has_absolute_threshold,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     has_percent_of_price_threshold, is_oscillator_like, is_phase_1_allowed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::builders::ConditionBuilder`
[INFO] [stdout]   --> src/optimization/candidate_builder/helpers.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::super::builders::ConditionBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::condition::ConditionParameterPresets`
[INFO] [stdout]  --> src/optimization/candidate_builder/phase_builder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::condition::ConditionParameterPresets;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/optimization/candidate_builder/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ElementConstraints` and `ElementProbabilities`
[INFO] [stdout]   --> src/optimization/candidate_builder/mod.rs:12:29
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CandidateBuilderConfig, ElementConstraints, ElementProbabilities,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategyParameterSpec`
[INFO] [stdout]    --> src/optimization/population.rs:130:53
[INFO] [stdout]     |
[INFO] [stdout] 130 |         use crate::strategy::types::{ParameterKind, StrategyParameterSpec};
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StopSignalKind`
[INFO] [stdout]   --> src/position/manager.rs:14:48
[INFO] [stdout]    |
[INFO] [stdout] 14 |     PositionDirection, PriceField, StopSignal, StopSignalKind, StrategyDecision, StrategyError,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `extract_number_required` and `has_parameter`
[INFO] [stdout]  --> src/risk/factory.rs:7:60
[INFO] [stdout]   |
[INFO] [stdout] 7 |     extract_indicator_params_with_aliases, extract_number, extract_number_required,
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     extract_percentage, extract_string_required, has_parameter, normalize_indicator_params,
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParameterSet`
[INFO] [stdout]  --> src/risk/parameters.rs:2:68
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::indicators::types::{IndicatorParameter, ParameterRange, ParameterSet, ParameterType};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StopEvaluationContext`
[INFO] [stdout]   --> src/strategy/builder.rs:23:68
[INFO] [stdout]    |
[INFO] [stdout] 23 |     get_auxiliary_specs_from_handler_spec, AuxiliaryIndicatorSpec, StopEvaluationContext,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UserFormulaMetadata`
[INFO] [stdout]   --> src/strategy/presets.rs:10:42
[INFO] [stdout]    |
[INFO] [stdout] 10 |     StrategySignalType, TakeHandlerSpec, UserFormulaMetadata,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrics::BacktestReport`
[INFO] [stdout]  --> src/backtest/backtest_orchestrator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::metrics::BacktestReport;
[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: `PositionBook`
[INFO] [stdout]  --> src/backtest/backtest_orchestrator.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::position::{PositionBook, PositionManager};
[INFO] [stdout]   |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeframeData`
[INFO] [stdout]  --> src/backtest/condition_evaluator.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::strategy::context::{StrategyContext, TimeframeData};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::candles::aggregator::TimeFrameAggregator`
[INFO] [stdout]  --> src/backtest/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::candles::aggregator::TimeFrameAggregator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeframeData`
[INFO] [stdout]   --> src/backtest/engine.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::strategy::context::{StrategyContext, TimeframeData};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategySignalType`
[INFO] [stdout]   --> src/backtest/engine.rs:15:81
[INFO] [stdout]    |
[INFO] [stdout] 15 |     StrategyDecision, StrategyDefinition, StrategyParameterMap, StrategySignal, StrategySignalType,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeframeData`
[INFO] [stdout]  --> src/backtest/feed_manager.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::strategy::context::{StrategyContext, TimeframeData};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategyError`
[INFO] [stdout]   --> src/backtest/indicator_engine.rs:10:73
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::strategy::types::{IndicatorBindingSpec, IndicatorSourceSpec, StrategyError};
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/backtest/tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StrategyCategory` and `StrategyDefinition`
[INFO] [stdout]   --> src/backtest/tests.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         StrategyCategory, StrategyDecision, StrategyDefinition, StrategyError, StrategyId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/candles/aggregator/expander.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{DateTime, Duration, Utc};
[INFO] [stdout]   |              ^^^^^^^^            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/candles/builders.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/candles/builders.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/condition/helpers.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/condition/tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow_flight::flight_service_server::FlightServiceServer`
[INFO] [stdout]  --> src/data_access/database/arrow_flight.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use arrow_flight::flight_service_server::FlightServiceServer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow_flight::sql::server::FlightSqlService`
[INFO] [stdout]  --> src/data_access/database/arrow_flight.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use arrow_flight::sql::server::FlightSqlService;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionType`, `Criteria`, `Empty`, `FlightInfo`, `HandshakeRequest`, `HandshakeResponse`, `PutResult`, `SchemaResult`, and `Ticket`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Action, ActionType, Criteria, Empty, FlightData, FlightDescriptor, FlightInfo,
[INFO] [stdout]    |             ^^^^^^^^^^  ^^^^^^^^  ^^^^^                                ^^^^^^^^^^
[INFO] [stdout] 12 |     HandshakeRequest, HandshakeResponse, PutResult, SchemaResult, Ticket,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response`, `Status`, and `Streaming`
[INFO] [stdout]   --> src/data_access/database/arrow_flight.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tonic::{Request, Response, Status, Streaming};
[INFO] [stdout]    |                      ^^^^^^^^  ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/database/clickhouse.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/database/datafusion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType` and `Field`
[INFO] [stdout]  --> src/data_access/database/datafusion.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use datafusion::arrow::datatypes::{DataType, Field, Schema};
[INFO] [stdout]   |                                    ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `datafusion::common::Result as DataFusionResult`
[INFO] [stdout]  --> src/data_access/database/datafusion.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use datafusion::common::Result as DataFusionResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/data_access/database/datafusion.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/database/postgresql.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/data_access/database/postgresql.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Row`
[INFO] [stdout]   --> src/data_access/database/postgresql.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio_postgres::{NoTls, Row};
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataAccessError`
[INFO] [stdout]  --> src/data_access/examples/arrow_parquet_examples.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data_access::{DataAccessError, Result};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MongoDBQueryBuilder`, `SortDirection`, and `UserQueryBuilder`
[INFO] [stdout]   --> src/data_access/examples/mongodb_examples.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     MongoDBQueryBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     SortDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     UserQueryBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/data_access/examples/mongodb_examples.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PostgreSQLConfig`
[INFO] [stdout]  --> src/data_access/examples/postgresql_examples.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     PostgreSQLConfig, PostgreSQLConnector, PostgreSQLUtils,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/data_access/examples/postgresql_examples.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_access::models::*`
[INFO] [stdout]  --> src/data_access/query_builder/arrow.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::models::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/data_access/query_builder/arrow.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/arrow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/data_access/query_builder/clickhouse.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/clickhouse.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/data_access/query_builder/postgresql.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/postgresql.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataAccessError` and `Result`
[INFO] [stdout]  --> src/data_access/query_builder/redis.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_access::{DataAccessError, Result};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/data_access/query_builder/redis.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/data_access/query_builder/redis.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BarBuilderError`
[INFO] [stdout]  --> src/data_model/quote_frame.rs:9:63
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::candles::builders::{BarBuilder, BarBuilderFactory, BarBuilderError};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `TypeId`
[INFO] [stdout]  --> src/di/service_provider.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/di/setup.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::strategy::base::Strategy`
[INFO] [stdout]  --> src/di/setup.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::strategy::base::Strategy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/discovery/strategy_converter/condition_builder.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndicatorInfo`
[INFO] [stdout]  --> src/discovery/strategy_converter/condition_builder.rs:5:46
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::discovery::types::{ConditionInfo, IndicatorInfo};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceField`
[INFO] [stdout]  --> src/discovery/strategy_converter/condition_builder.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     IndicatorBindingSpec, PriceField,
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::discovery::types::StopHandlerInfo`
[INFO] [stdout]  --> src/discovery/strategy_converter/handler_builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::discovery::types::StopHandlerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategyParamValue`
[INFO] [stdout]  --> src/discovery/strategy_converter/handler_builder.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 |     PositionDirection, PriceField, StopHandlerSpec, StrategyParamValue, TakeHandlerSpec,
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/discovery/strategy_converter/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConditionInfo` and `IndicatorInfo`
[INFO] [stdout]  --> src/discovery/strategy_converter/main.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::discovery::types::{ConditionInfo, IndicatorInfo};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimization::condition_id::ConditionId`
[INFO] [stdout]  --> src/discovery/strategy_converter/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::optimization::condition_id::ConditionId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConditionBindingSpec`, `ConditionDeclarativeSpec`, `ConditionInputSpec`, `ConditionOperator`, `DataSeriesSource`, `IndicatorBindingSpec`, `IndicatorSourceSpec`, `PositionDirection`, `RuleLogic`, `StopHandlerSpec`, `StrategyCategory`, `StrategyMetadata`, `StrategyParamValue`, `StrategyParameterSpec`, `StrategyRuleSpec`, `StrategySignalType`, and `TakeHandlerSpec`
[INFO] [stdout]   --> src/discovery/strategy_converter/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     ConditionBindingSpec, ConditionDeclarativeSpec, ConditionInputSpec, ConditionOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     DataSeriesSource, IndicatorBindingSpec, IndicatorSourceSpec, PositionDirection, RuleLogic,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 19 |     StopHandlerSpec, StrategyCategory, StrategyDefinition, StrategyMetadata, StrategyParamValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     StrategyParameterMap, StrategyParameterSpec, StrategyRuleSpec, StrategySignalType,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     TakeHandlerSpec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::helpers::get_condition_param_range`
[INFO] [stdout]  --> src/discovery/strategy_converter/parameter_extractor/handler.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::helpers::get_condition_param_range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_default_stop_params` and `get_default_take_params`
[INFO] [stdout]  --> src/discovery/strategy_converter/parameter_extractor/mod.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use handler::{get_default_stop_params, get_default_take_params};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StopHandlerInfo`
[INFO] [stdout]    --> src/discovery/strategy_converter/parameter_extractor/mod.rs:102:77
[INFO] [stdout]     |
[INFO] [stdout] 102 |         IndicatorParamInfo as DiscoveryIndicatorParamInfo, NestedIndicator, StopHandlerInfo,
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/discovery/types.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataConverter` and `DataValidator`
[INFO] [stdout]  --> src/indicators/base.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     DataConverter, DataValidator, IndicatorCategory, IndicatorError, IndicatorMetadata,
[INFO] [stdout]   |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndicatorId`
[INFO] [stdout]  --> src/indicators/registry.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 |         IndicatorCategory, IndicatorError, IndicatorId, IndicatorType, OHLCData, ParameterSet,
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceField`
[INFO] [stdout]   --> src/indicators/impl/trend/sma.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::strategy::types::{ConditionOperator, PriceField};
[INFO] [stdout]    |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data_model::vector_ops::unsafe_ops`
[INFO] [stdout]  --> src/indicators/impl/volatility/atr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::data_model::vector_ops::unsafe_ops;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/indicators/tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `implementations::*`
[INFO] [stdout]   --> src/indicators/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use implementations::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/indicators/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use registry::*;
[INFO] [stdout]    |         ^^^^^^^^^^^ the name `IndicatorMetadata` in the type namespace is first re-exported here
[INFO] [stdout] 22 | pub use types::*;
[INFO] [stdout]    |         -------- but the name `IndicatorMetadata` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NestingConfig`
[INFO] [stdout]  --> src/optimization/build_rules_provider.rs:2:52
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::indicators::base::{IndicatorBuildRules, NestingConfig, ThresholdType};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimization::condition_id::ConditionId`
[INFO] [stdout]  --> src/optimization/builders/condition_builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::optimization::condition_id::ConditionId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimization::builders::IndicatorBuilder`
[INFO] [stdout]   --> src/optimization/builders/condition_builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::optimization::builders::IndicatorBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::condition::ConditionParameterPresets`
[INFO] [stdout]  --> src/optimization/candidate_builder/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::condition::ConditionParameterPresets;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `can_accept_nested_input`, `get_allowed_conditions`, `has_absolute_threshold`, and `has_percent_of_price_threshold`
[INFO] [stdout]   --> src/optimization/candidate_builder/helpers.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     can_accept_nested_input, get_allowed_conditions, has_absolute_threshold,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     has_percent_of_price_threshold, is_oscillator_like, is_phase_1_allowed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::builders::ConditionBuilder`
[INFO] [stdout]   --> src/optimization/candidate_builder/helpers.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::super::builders::ConditionBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::condition::ConditionParameterPresets`
[INFO] [stdout]  --> src/optimization/candidate_builder/phase_builder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::condition::ConditionParameterPresets;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/optimization/candidate_builder/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ElementConstraints` and `ElementProbabilities`
[INFO] [stdout]   --> src/optimization/candidate_builder/mod.rs:12:29
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CandidateBuilderConfig, ElementConstraints, ElementProbabilities,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EvaluatedStrategy` and `GeneticIndividual`
[INFO] [stdout]   --> src/optimization/island.rs:48:38
[INFO] [stdout]    |
[INFO] [stdout] 48 |     use crate::optimization::types::{EvaluatedStrategy, GeneticIndividual, Population};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::strategy::types::StrategyParamValue`
[INFO] [stdout]   --> src/optimization/migration.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     use crate::strategy::types::StrategyParamValue;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StrategyParameterSpec`
[INFO] [stdout]    --> src/optimization/population.rs:130:53
[INFO] [stdout]     |
[INFO] [stdout] 130 |         use crate::strategy::types::{ParameterKind, StrategyParameterSpec};
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TrendDirection`
[INFO] [stdout]    --> src/position/manager.rs:934:51
[INFO] [stdout]     |
[INFO] [stdout] 934 |     use crate::condition::types::{SignalStrength, TrendDirection};
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `extract_number_required` and `has_parameter`
[INFO] [stdout]  --> src/risk/factory.rs:7:60
[INFO] [stdout]   |
[INFO] [stdout] 7 |     extract_indicator_params_with_aliases, extract_number, extract_number_required,
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     extract_percentage, extract_string_required, has_parameter, normalize_indicator_params,
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParameterSet`
[INFO] [stdout]  --> src/risk/parameters.rs:2:68
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::indicators::types::{IndicatorParameter, ParameterRange, ParameterSet, ParameterType};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StopEvaluationContext`
[INFO] [stdout]   --> src/strategy/builder.rs:23:68
[INFO] [stdout]    |
[INFO] [stdout] 23 |     get_auxiliary_specs_from_handler_spec, AuxiliaryIndicatorSpec, StopEvaluationContext,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UserFormulaMetadata`
[INFO] [stdout]   --> src/strategy/presets.rs:10:42
[INFO] [stdout]    |
[INFO] [stdout] 10 |     StrategySignalType, TakeHandlerSpec, UserFormulaMetadata,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut stream = futures::stream::iter(flight_data_stream);
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut stream = futures::stream::iter(flight_data_stream);
[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: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/data_model/types.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |     DateTime::from_utc(naive, Utc)
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/data_model/types.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |     DateTime::from_utc(naive, Utc)
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BarBuilder`
[INFO] [stdout]  --> src/data_model/quote_frame.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::candles::builders::{BarBuilder, BarBuilderFactory, BarBuilderError};
[INFO] [stdout]   |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backtest/engine.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |             let mut decision = self
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregated_idx`
[INFO] [stdout]   --> src/candles/aggregator/mod.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let aggregated_idx = aggregated_quotes.len();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregated_idx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/candles/aggregator/mod.rs:334:13
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let mut new_candle_open = first_quote.open();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let descriptor = FlightDescriptor::new_cmd("INSERT".to_string());
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flight_data`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:142:43
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn flight_data_to_record_batch_static(flight_data: FlightData) -> Result<RecordBatch> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flight_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:151:43
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn record_batch_to_flight_data(&self, batch: RecordBatch) -> Result<FlightData> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batches`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let batches = self.base_connector.get_data(&query).await?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candles`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:308:42
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub async fn send_candles(&mut self, candles: Vec<Candle>) -> Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batches`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let batches = self.base_connector.get_data(&query).await?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trades`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:339:41
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub async fn send_trades(&mut self, trades: Vec<Trade>) -> Result<()> {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_trades`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]     --> src/data_access/database/clickhouse.rs:1597:30
[INFO] [stdout]      |
[INFO] [stdout] 1597 |     async fn query<T>(&self, query: &str) -> Result<Vec<T>>
[INFO] [stdout]      |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]     --> src/data_access/database/clickhouse.rs:1620:42
[INFO] [stdout]      |
[INFO] [stdout] 1620 |     async fn query_with_params<T>(&self, query: &str, _params: &[&dyn ToSql]) -> Result<Vec<T>>
[INFO] [stdout]      |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BarBuilder`
[INFO] [stdout]  --> src/data_model/quote_frame.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::candles::builders::{BarBuilder, BarBuilderFactory, BarBuilderError};
[INFO] [stdout]   |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backtest/engine.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |             let mut decision = self
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]   --> src/data_access/database/datafusion.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 |             .map(|batch| {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batches`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         batches: Vec<ArrowRecordBatch>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `df`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let df = context
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_df`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let context = self.context.as_ref().ok_or_else(|| {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tf_240`
[INFO] [stdout]    --> src/backtest/tests.rs:366:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let tf_240 = TimeFrame::Minutes(240);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tf_240`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `calculator`
[INFO] [stdout]    --> src/backtest/tests.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |         let calculator = EquityCalculator::new(10000.0);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_calculator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `calculator2`
[INFO] [stdout]    --> src/backtest/tests.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |         let calculator2 = EquityCalculator::new(5000.0);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_calculator2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backtest/tests.rs:571:13
[INFO] [stdout]     |
[INFO] [stdout] 571 |         let mut position_manager = crate::position::PositionManager::new("test".to_string());
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evaluator`
[INFO] [stdout]    --> src/backtest/tests.rs:600:13
[INFO] [stdout]     |
[INFO] [stdout] 600 |         let evaluator = ConditionEvaluator::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_evaluator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evaluator`
[INFO] [stdout]    --> src/backtest/tests.rs:606:13
[INFO] [stdout]     |
[INFO] [stdout] 606 |         let evaluator = ConditionEvaluator::default();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_evaluator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/backtest/tests.rs:612:13
[INFO] [stdout]     |
[INFO] [stdout] 612 |         let engine = IndicatorEngine::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/backtest/tests.rs:618:13
[INFO] [stdout]     |
[INFO] [stdout] 618 |         let engine = IndicatorEngine::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `service`
[INFO] [stdout]    --> src/backtest/tests.rs:624:13
[INFO] [stdout]     |
[INFO] [stdout] 624 |         let service = TimeFrameAggregationService::new();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `service`
[INFO] [stdout]    --> src/backtest/tests.rs:630:13
[INFO] [stdout]     |
[INFO] [stdout] 630 |         let service = TimeFrameAggregationService::default();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregated_idx`
[INFO] [stdout]   --> src/candles/aggregator/mod.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let aggregated_idx = aggregated_quotes.len();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregated_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/candles/aggregator/mod.rs:334:13
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let mut new_candle_open = first_quote.open();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let mut config = SessionConfig::new()
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout] 502 |         symbol: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let descriptor = FlightDescriptor::new_cmd("INSERT".to_string());
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flight_data`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:142:43
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn flight_data_to_record_batch_static(flight_data: FlightData) -> Result<RecordBatch> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flight_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:151:43
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn record_batch_to_flight_data(&self, batch: RecordBatch) -> Result<FlightData> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batches`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let batches = self.base_connector.get_data(&query).await?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candles`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:308:42
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub async fn send_candles(&mut self, candles: Vec<Candle>) -> Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batches`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let batches = self.base_connector.get_data(&query).await?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trades`
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:339:41
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub async fn send_trades(&mut self, trades: Vec<Trade>) -> Result<()> {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_trades`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/data_access/database/mongodb.rs:649:21
[INFO] [stdout]     |
[INFO] [stdout] 649 |         if let Some(client) = self.client.take() {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]     --> src/data_access/database/clickhouse.rs:1597:30
[INFO] [stdout]      |
[INFO] [stdout] 1597 |     async fn query<T>(&self, query: &str) -> Result<Vec<T>>
[INFO] [stdout]      |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]     --> src/data_access/database/clickhouse.rs:1620:42
[INFO] [stdout]      |
[INFO] [stdout] 1620 |     async fn query_with_params<T>(&self, query: &str, _params: &[&dyn ToSql]) -> Result<Vec<T>>
[INFO] [stdout]      |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]   --> src/data_access/database/datafusion.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 |             .map(|batch| {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batches`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         batches: Vec<ArrowRecordBatch>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `df`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let df = context
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_df`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let context = self.context.as_ref().ok_or_else(|| {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let mut config = SessionConfig::new()
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]    --> src/data_access/database/datafusion.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout] 502 |         symbol: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/data_access/database/mongodb.rs:649:21
[INFO] [stdout]     |
[INFO] [stdout] 649 |         if let Some(client) = self.client.take() {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]    --> src/data_access/database/postgresql.rs:328:21
[INFO] [stdout]     |
[INFO] [stdout] 328 |         if let Some(pool) = self.pool.take() {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]    --> src/data_access/database/postgresql.rs:328:21
[INFO] [stdout]     |
[INFO] [stdout] 328 |         if let Some(pool) = self.pool.take() {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/data_access/database/postgresql.rs:432:13
[INFO] [stdout]     |
[INFO] [stdout] 432 |         for row in rows {
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/data_access/database/postgresql.rs:432:13
[INFO] [stdout]     |
[INFO] [stdout] 432 |         for row in rows {
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_candles`
[INFO] [stdout]    --> src/data_access/examples/arrow_parquet_examples.rs:290:17
[INFO] [stdout]     |
[INFO] [stdout] 290 |             let test_candles = vec![Candle {
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_candles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_candles`
[INFO] [stdout]    --> src/data_access/examples/arrow_parquet_examples.rs:290:17
[INFO] [stdout]     |
[INFO] [stdout] 290 |             let test_candles = vec![Candle {
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_candles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern_condition`
[INFO] [stdout]    --> src/data_access/query_builder/arrow.rs:717:9
[INFO] [stdout]     |
[INFO] [stdout] 717 |         pattern_condition: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/data_access/query_builder/arrow.rs:730:9
[INFO] [stdout]     |
[INFO] [stdout] 730 |         field: &str,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_filter`
[INFO] [stdout]    --> src/data_access/query_builder/arrow.rs:732:13
[INFO] [stdout]     |
[INFO] [stdout] 732 |         let symbol_filter = symbols
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/data_access/query_builder/postgresql.rs:260:43
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn having(mut self, column: &str, operator: &str, value: &str) -> Self {
[INFO] [stdout]     |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern_condition`
[INFO] [stdout]    --> src/data_access/query_builder/arrow.rs:717:9
[INFO] [stdout]     |
[INFO] [stdout] 717 |         pattern_condition: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/data_access/query_builder/arrow.rs:730:9
[INFO] [stdout]     |
[INFO] [stdout] 730 |         field: &str,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_filter`
[INFO] [stdout]    --> src/data_access/query_builder/arrow.rs:732:13
[INFO] [stdout]     |
[INFO] [stdout] 732 |         let symbol_filter = symbols
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/discovery/strategy_converter/condition_builder.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let mut parameters =
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/data_access/query_builder/postgresql.rs:260:43
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn having(mut self, column: &str, operator: &str, value: &str) -> Self {
[INFO] [stdout]     |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidate`
[INFO] [stdout]   --> src/discovery/strategy_converter/rule_builder.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         candidate: &StrategyCandidate,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidate`
[INFO] [stdout]   --> src/discovery/strategy_converter/rule_builder.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         candidate: &StrategyCandidate,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/discovery/strategy_converter/condition_builder.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let mut parameters =
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidate`
[INFO] [stdout]   --> src/discovery/strategy_converter/rule_builder.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         candidate: &StrategyCandidate,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidate`
[INFO] [stdout]   --> src/discovery/strategy_converter/rule_builder.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         candidate: &StrategyCandidate,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indicator`
[INFO] [stdout]    --> src/optimization/builders/condition_builder.rs:791:9
[INFO] [stdout]     |
[INFO] [stdout] 791 |         indicator: &IndicatorInfo,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indicator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `probabilities`
[INFO] [stdout]   --> src/optimization/builders/operator_selector.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     probabilities: &ConditionProbabilities,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_probabilities`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimization/builders/stop_handler_builder.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 let mut params = Self::make_handler_params(config, available);
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indicator`
[INFO] [stdout]    --> src/optimization/builders/condition_builder.rs:791:9
[INFO] [stdout]     |
[INFO] [stdout] 791 |         indicator: &IndicatorInfo,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indicator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `probabilities`
[INFO] [stdout]   --> src/optimization/builders/operator_selector.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     probabilities: &ConditionProbabilities,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_probabilities`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimization/builders/stop_handler_builder.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 let mut params = Self::make_handler_params(config, available);
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight1`
[INFO] [stdout]    --> src/optimization/genetic/crossover.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     weight1: f64,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight2`
[INFO] [stdout]    --> src/optimization/genetic/crossover.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     weight2: f64,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indicator_name_for_param`
[INFO] [stdout]    --> src/optimization/population.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 let indicator_name_for_param =
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indicator_name_for_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/optimization/population.rs:504:33
[INFO] [stdout]     |
[INFO] [stdout] 504 | ...                   let value = min + (step_index as f64 * step);
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `persistence`
[INFO] [stdout]    --> src/position/manager.rs:561:21
[INFO] [stdout]     |
[INFO] [stdout] 561 |         if let Some(persistence) = &self.persistence {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persistence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]    --> src/optimization/fresh_blood.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let system = FreshBloodSystem::new(config);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight1`
[INFO] [stdout]    --> src/optimization/genetic/crossover.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     weight1: f64,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight2`
[INFO] [stdout]    --> src/optimization/genetic/crossover.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     weight2: f64,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]    --> src/optimization/migration.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let system = MigrationSystem::new(config);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `optimizer`
[INFO] [stdout]    --> src/optimization/per_structure_optimizer.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let optimizer = PerStructureOptimizer::new(config, frames, base_tf, discovery_config);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optimizer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indicator_name_for_param`
[INFO] [stdout]    --> src/optimization/population.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 let indicator_name_for_param =
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indicator_name_for_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/optimization/population.rs:504:33
[INFO] [stdout]     |
[INFO] [stdout] 504 | ...                   let value = min + (step_index as f64 * step);
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sds`
[INFO] [stdout]    --> src/optimization/sds.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let sds = StochasticDiffusionSearch::new(config);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_sds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saver`
[INFO] [stdout]   --> src/optimization/strategy_saver.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let saver = StrategySaver::new();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_saver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saver`
[INFO] [stdout]   --> src/optimization/strategy_saver.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let saver = StrategySaver::default();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_saver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `persistence`
[INFO] [stdout]    --> src/position/manager.rs:561:21
[INFO] [stdout]     |
[INFO] [stdout] 561 |         if let Some(persistence) = &self.persistence {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persistence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/presets.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     let mut defaults = StrategyParameterMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/presets.rs:393:9
[INFO] [stdout]     |
[INFO] [stdout] 393 |     let mut defaults = StrategyParameterMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/presets.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |     let mut defaults = StrategyParameterMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BacktestBuffers` is more private than the item `BacktestOrchestrator::process_decision`
[INFO] [stdout]    --> src/backtest/backtest_orchestrator.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     pub fn process_decision(
[INFO] [stdout] 103 | |         decision: StrategyDecision,
[INFO] [stdout] 104 | |         position_manager: &mut PositionManager,
[INFO] [stdout] 105 | |         risk_manager: &mut RiskManager,
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |         buffers: &mut crate::backtest::engine::BacktestBuffers,
[INFO] [stdout] 110 | |     ) -> Result<bool, BacktestError> {
[INFO] [stdout]     | |____________________________________^ associated function `BacktestOrchestrator::process_decision` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BacktestBuffers` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/backtest/engine.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | pub(crate) struct BacktestBuffers {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BacktestBuffers` is more private than the item `BacktestOrchestrator::process_stop_checks`
[INFO] [stdout]    --> src/backtest/backtest_orchestrator.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 | /     pub fn process_stop_checks(
[INFO] [stdout] 196 | |         risk_manager: &mut RiskManager,
[INFO] [stdout] 197 | |         position_manager: &mut PositionManager,
[INFO] [stdout] 198 | |         context: &mut StrategyContext,
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |         buffers: &mut crate::backtest::engine::BacktestBuffers,
[INFO] [stdout] 202 | |     ) -> Result<(), BacktestError> {
[INFO] [stdout]     | |__________________________________^ associated function `BacktestOrchestrator::process_stop_checks` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BacktestBuffers` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/backtest/engine.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | pub(crate) struct BacktestBuffers {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/presets.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     let mut defaults = StrategyParameterMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `QueryOperation` is more private than the item `MongoDBQuery::operation`
[INFO] [stdout]    --> src/data_access/query_builder/mongodb.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub operation: QueryOperation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MongoDBQuery::operation` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `QueryOperation` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_access/query_builder/mongodb.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | enum QueryOperation {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/presets.rs:393:9
[INFO] [stdout]     |
[INFO] [stdout] 393 |     let mut defaults = StrategyParameterMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/presets.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |     let mut defaults = StrategyParameterMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_rising_trend` and `calculate_slope` are never used
[INFO] [stdout]   --> src/condition/conditions/trend.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RisingTrendCondition {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn is_rising_trend(&self, data: &[f32]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn calculate_slope(&self, data: &[f32]) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_falling_trend` and `calculate_slope` are never used
[INFO] [stdout]    --> src/condition/conditions/trend.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl FallingTrendCondition {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn is_falling_trend(&self, data: &[f32]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn calculate_slope(&self, data: &[f32]) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flight_data_to_record_batch` is never used
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl ArrowFlightConnector {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn flight_data_to_record_batch(&self, flight_data: FlightData) -> Result<RecordBatch> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/data_access/database/datafusion.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct DataFusionConnector {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 44 |     config: DataFusionConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_client` is never used
[INFO] [stdout]   --> src/data_access/database/mongodb.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl MongoDBConnector {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn get_client(&self) -> Result<&Client> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]    --> src/data_access/database/mongodb.rs:778:5
[INFO] [stdout]     |
[INFO] [stdout] 777 | pub struct MongoDBTransaction {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 778 |     database: Database,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/data_access/examples/redis_example.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | async fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_f32_avx2` is never used
[INFO] [stdout]   --> src/data_model/vector_ops.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     unsafe fn sum_f32_avx2(data: &[f32]) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_sq_diff_f32_avx2` is never used
[INFO] [stdout]   --> src/data_model/vector_ops.rs:84:15
[INFO] [stdout]    |
[INFO] [stdout] 84 |     unsafe fn sum_sq_diff_f32_avx2(data: &[f32], mean: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `is_valid_operator_for_indicator_price`, `is_valid_operator_for_indicator_indicator`, `is_valid_operator_for_indicator_constant`, and `operator_to_str` are never used
[INFO] [stdout]   --> src/discovery/condition.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ConditionCombinationGenerator {
[INFO] [stdout]    | ---------------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn is_valid_operator_for_indicator_price(operator: &ConditionOperator) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn is_valid_operator_for_indicator_indicator(operator: &ConditionOperator) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn is_valid_operator_for_indicator_constant(operator: &ConditionOperator) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn operator_to_str(operator: &ConditionOperator) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]  --> src/discovery/engine.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct StrategyDiscoveryEngine {
[INFO] [stdout]   |            ----------------------- field in this struct
[INFO] [stdout] 9 |     config: StrategyDiscoveryConfig,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_condition_with_timeframe` is never used
[INFO] [stdout]    --> src/optimization/candidate_builder/helpers.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn build_condition_with_timeframe(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `extract_indicator_name_from_condition` is never used
[INFO] [stdout]    --> src/optimization/population.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl PopulationManager {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn extract_indicator_name_from_condition(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scale_position`, `persist_position`, `persist_order`, and `record_event` are never used
[INFO] [stdout]    --> src/position/manager.rs:575:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl PositionManager {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 575 |     fn scale_position(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 752 |     async fn persist_position(&self, position: &PositionState) -> Result<(), PositionError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |     async fn persist_order(&self, order: &OrderTicket) -> Result<(), PositionError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 772 |     async fn record_event(&mut self, event: PositionEvent) -> Result<(), PositionError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]    --> src/position/manager.rs:919:5
[INFO] [stdout]     |
[INFO] [stdout] 915 | struct MarketSnapshot {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 919 |     index: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_atr_value_for_validation` is never used
[INFO] [stdout]   --> src/risk/stops/atr_trail_indicator.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl ATRTrailIndicatorStopHandler {
[INFO] [stdout]    | --------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn get_atr_value_for_validation(&self, ctx: &StopValidationContext<'_>) -> Option<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stop_handlers` is never read
[INFO] [stdout]   --> src/strategy/builder.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct DynamicStrategy {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     stop_handlers: Vec<PreparedStopHandler>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamicStrategy` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/position/manager.rs:592:13
[INFO] [stdout]     |
[INFO] [stdout] 592 |             drop(state);
[INFO] [stdout]     |             ^^^^^-----^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  argument has type `&mut PositionState`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 592 -             drop(state);
[INFO] [stdout] 592 +             let _ = state;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/position/manager.rs:618:9
[INFO] [stdout]     |
[INFO] [stdout] 618 |         drop(state);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut PositionState`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 618 -         drop(state);
[INFO] [stdout] 618 +         let _ = state;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/position/manager.rs:688:9
[INFO] [stdout]     |
[INFO] [stdout] 688 |         drop(state);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut PositionState`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 688 -         drop(state);
[INFO] [stdout] 688 +         let _ = state;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BacktestBuffers` is more private than the item `BacktestOrchestrator::process_decision`
[INFO] [stdout]    --> src/backtest/backtest_orchestrator.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     pub fn process_decision(
[INFO] [stdout] 103 | |         decision: StrategyDecision,
[INFO] [stdout] 104 | |         position_manager: &mut PositionManager,
[INFO] [stdout] 105 | |         risk_manager: &mut RiskManager,
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |         buffers: &mut crate::backtest::engine::BacktestBuffers,
[INFO] [stdout] 110 | |     ) -> Result<bool, BacktestError> {
[INFO] [stdout]     | |____________________________________^ associated function `BacktestOrchestrator::process_decision` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BacktestBuffers` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/backtest/engine.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | pub(crate) struct BacktestBuffers {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BacktestBuffers` is more private than the item `BacktestOrchestrator::process_stop_checks`
[INFO] [stdout]    --> src/backtest/backtest_orchestrator.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 | /     pub fn process_stop_checks(
[INFO] [stdout] 196 | |         risk_manager: &mut RiskManager,
[INFO] [stdout] 197 | |         position_manager: &mut PositionManager,
[INFO] [stdout] 198 | |         context: &mut StrategyContext,
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |         buffers: &mut crate::backtest::engine::BacktestBuffers,
[INFO] [stdout] 202 | |     ) -> Result<(), BacktestError> {
[INFO] [stdout]     | |__________________________________^ associated function `BacktestOrchestrator::process_stop_checks` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BacktestBuffers` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/backtest/engine.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | pub(crate) struct BacktestBuffers {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `QueryOperation` is more private than the item `MongoDBQuery::operation`
[INFO] [stdout]    --> src/data_access/query_builder/mongodb.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub operation: QueryOperation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `MongoDBQuery::operation` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `QueryOperation` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_access/query_builder/mongodb.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | enum QueryOperation {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_rising_trend` and `calculate_slope` are never used
[INFO] [stdout]   --> src/condition/conditions/trend.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RisingTrendCondition {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn is_rising_trend(&self, data: &[f32]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn calculate_slope(&self, data: &[f32]) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_falling_trend` and `calculate_slope` are never used
[INFO] [stdout]    --> src/condition/conditions/trend.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl FallingTrendCondition {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn is_falling_trend(&self, data: &[f32]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn calculate_slope(&self, data: &[f32]) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flight_data_to_record_batch` is never used
[INFO] [stdout]    --> src/data_access/database/arrow_flight.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl ArrowFlightConnector {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn flight_data_to_record_batch(&self, flight_data: FlightData) -> Result<RecordBatch> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/data_access/database/datafusion.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct DataFusionConnector {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 44 |     config: DataFusionConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_client` is never used
[INFO] [stdout]   --> src/data_access/database/mongodb.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl MongoDBConnector {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn get_client(&self) -> Result<&Client> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]    --> src/data_access/database/mongodb.rs:778:5
[INFO] [stdout]     |
[INFO] [stdout] 777 | pub struct MongoDBTransaction {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 778 |     database: Database,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/data_access/examples/redis_example.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | async fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_f32_avx2` is never used
[INFO] [stdout]   --> src/data_model/vector_ops.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     unsafe fn sum_f32_avx2(data: &[f32]) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_sq_diff_f32_avx2` is never used
[INFO] [stdout]   --> src/data_model/vector_ops.rs:84:15
[INFO] [stdout]    |
[INFO] [stdout] 84 |     unsafe fn sum_sq_diff_f32_avx2(data: &[f32], mean: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `is_valid_operator_for_indicator_price`, `is_valid_operator_for_indicator_indicator`, `is_valid_operator_for_indicator_constant`, and `operator_to_str` are never used
[INFO] [stdout]   --> src/discovery/condition.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ConditionCombinationGenerator {
[INFO] [stdout]    | ---------------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn is_valid_operator_for_indicator_price(operator: &ConditionOperator) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn is_valid_operator_for_indicator_indicator(operator: &ConditionOperator) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn is_valid_operator_for_indicator_constant(operator: &ConditionOperator) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn operator_to_str(operator: &ConditionOperator) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]  --> src/discovery/engine.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct StrategyDiscoveryEngine {
[INFO] [stdout]   |            ----------------------- field in this struct
[INFO] [stdout] 9 |     config: StrategyDiscoveryConfig,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_condition_with_timeframe` is never used
[INFO] [stdout]    --> src/optimization/candidate_builder/helpers.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn build_condition_with_timeframe(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `extract_indicator_name_from_condition` is never used
[INFO] [stdout]    --> src/optimization/population.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl PopulationManager {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn extract_indicator_name_from_condition(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scale_position`, `persist_position`, `persist_order`, and `record_event` are never used
[INFO] [stdout]    --> src/position/manager.rs:575:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl PositionManager {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 575 |     fn scale_position(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 752 |     async fn persist_position(&self, position: &PositionState) -> Result<(), PositionError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |     async fn persist_order(&self, order: &OrderTicket) -> Result<(), PositionError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 772 |     async fn record_event(&mut self, event: PositionEvent) -> Result<(), PositionError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]    --> src/position/manager.rs:919:5
[INFO] [stdout]     |
[INFO] [stdout] 915 | struct MarketSnapshot {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 919 |     index: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_atr_value_for_validation` is never used
[INFO] [stdout]   --> src/risk/stops/atr_trail_indicator.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl ATRTrailIndicatorStopHandler {
[INFO] [stdout]    | --------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn get_atr_value_for_validation(&self, ctx: &StopValidationContext<'_>) -> Option<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stop_handlers` is never read
[INFO] [stdout]   --> src/strategy/builder.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct DynamicStrategy {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     stop_handlers: Vec<PreparedStopHandler>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamicStrategy` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/position/manager.rs:592:13
[INFO] [stdout]     |
[INFO] [stdout] 592 |             drop(state);
[INFO] [stdout]     |             ^^^^^-----^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  argument has type `&mut PositionState`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 592 -             drop(state);
[INFO] [stdout] 592 +             let _ = state;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/position/manager.rs:618:9
[INFO] [stdout]     |
[INFO] [stdout] 618 |         drop(state);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut PositionState`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 618 -         drop(state);
[INFO] [stdout] 618 +         let _ = state;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/position/manager.rs:688:9
[INFO] [stdout]     |
[INFO] [stdout] 688 |         drop(state);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut PositionState`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 688 -         drop(state);
[INFO] [stdout] 688 +         let _ = state;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NaiveDate` and `Utc`
[INFO] [stdout]   --> tests/clickhouse_integration_tests.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono::{NaiveDate, Utc};
[INFO] [stdout]    |              ^^^^^^^^^  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BacktestRecord`, `ClickHouseConfig`, `ClickHouseConnector`, `GeneticIndividual`, `Indicator`, `OhlcvData`, `OptimizationResult`, `OrderRecord`, `PortfolioSnapshot`, `Position`, `Signal`, `StrategyMetric`, `Strategy`, `SymbolInfo`, `TickData`, `TradeRecord`, and `WalkForwardResult`
[INFO] [stdout]   --> tests/clickhouse_integration_tests.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BacktestRecord, ClickHouseConfig, ClickHouseConnector, GeneticIndividual, Indicator, OhlcvData,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 15 |     OptimizationResult, OrderRecord, PortfolioSnapshot, Position, Signal, Strategy, StrategyMetric,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     SymbolInfo, TickData, TradeRecord, WalkForwardResult,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataSource` and `Database`
[INFO] [stdout]   --> tests/clickhouse_integration_tests.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | use robots::data_access::traits::{DataSource, Database};
[INFO] [stdout]    |                                   ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> tests/clickhouse_integration_tests.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `robots::candles::aggregator::TimeFrameAggregator`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use robots::candles::aggregator::TimeFrameAggregator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `print_conditions_signals` and `print_conditions_summary`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     print_conditions_signals, print_conditions_summary, print_equity_curve_summary,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `robots::strategy::types::PriceField`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use robots::strategy::types::PriceField;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     'evolution: for generation in 0..config.max_generations {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connector`
[INFO] [stdout]    --> tests/clickhouse_integration_tests.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let connector = get_test_connector().await;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connector`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `robots::candles::aggregator::TimeFrameAggregator`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use robots::candles::aggregator::TimeFrameAggregator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `print_conditions_signals` and `print_conditions_summary`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     print_conditions_signals, print_conditions_summary, print_equity_curve_summary,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `robots::strategy::types::PriceField`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use robots::strategy::types::PriceField;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     'evolution: for generation in 0..config.max_generations {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `doc`
[INFO] [stdout]   --> tests/mongodb_integration_tests.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use mongodb::bson::{doc, Document};
[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: `bar_count`
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let bar_count: Option<u32> = Some(1000);
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bar_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trend_sma_values`
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let trend_sma_values = trend_sma.calculate_simple(&close_values)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trend_sma_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_frame`
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let source_frame = frame.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collection`
[INFO] [stdout]    --> tests/mongodb_integration_tests.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let collection = connector
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bar_count`
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let bar_count: Option<u32> = Some(1000);
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bar_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trend_sma_values`
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let trend_sma_values = trend_sma.calculate_simple(&close_values)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trend_sma_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_frame`
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let source_frame = frame.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 30s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.24.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "66821f9f8d584764a6c76dc557bbf41fff73597cab0ea538f03026de0fc48917", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66821f9f8d584764a6c76dc557bbf41fff73597cab0ea538f03026de0fc48917", kill_on_drop: false }`
[INFO] [stdout] 66821f9f8d584764a6c76dc557bbf41fff73597cab0ea538f03026de0fc48917
