[INFO] fetching crate nersent_pace 0.6.22...
[INFO] checking nersent_pace-0.6.22 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] extracting crate nersent_pace 0.6.22 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate nersent_pace 0.6.22 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nersent_pace 0.6.22
[INFO] finished tweaking crates.io crate nersent_pace 0.6.22
[INFO] tweaked toml for crates.io crate nersent_pace 0.6.22 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded polars-utils v0.27.2
[INFO] [stderr]   Downloaded drawille v0.3.0
[INFO] [stderr]   Downloaded polars-plan v0.27.2
[INFO] [stderr]   Downloaded polars-ops v0.27.2
[INFO] [stderr]   Downloaded plotters-bitmap v0.3.3
[INFO] [stderr]   Downloaded streaming-decompression v0.1.2
[INFO] [stderr]   Downloaded streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded polars-pipe v0.27.2
[INFO] [stderr]   Downloaded polars-io v0.27.2
[INFO] [stderr]   Downloaded polars-lazy v0.27.2
[INFO] [stderr]   Downloaded arrow2 v0.16.0
[INFO] [stderr]   Downloaded polars-core v0.27.2
[INFO] [stderr]   Downloaded parquet2 v0.17.2
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.35
[INFO] [stderr]   Downloaded ttf-parser v0.17.1
[INFO] [stderr]   Downloaded comfy-table v6.2.0
[INFO] [stderr]   Downloaded parquet-format-safe v0.2.4
[INFO] [stderr]   Downloaded encode_unicode v1.0.0
[INFO] [stderr]   Downloaded prettytable-rs v0.10.0
[INFO] [stderr]   Downloaded mimalloc v0.1.39
[INFO] [stderr]   Downloaded kdam v0.3.0
[INFO] [stderr]   Downloaded polars-time v0.27.2
[INFO] [stderr]   Downloaded snap v1.1.1
[INFO] [stderr]   Downloaded similar-asserts v1.5.0
[INFO] [stderr]   Downloaded polars v0.27.2
[INFO] [stderr]   Downloaded polars-arrow v0.27.2
[INFO] [stderr]   Downloaded textplots v0.8.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] acd1f722cf129ee3097ffbbc2548034bd5c19634fed0140759af2e32447cd474
[INFO] running `Command { std: "docker" "start" "-a" "acd1f722cf129ee3097ffbbc2548034bd5c19634fed0140759af2e32447cd474", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "acd1f722cf129ee3097ffbbc2548034bd5c19634fed0140759af2e32447cd474", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "acd1f722cf129ee3097ffbbc2548034bd5c19634fed0140759af2e32447cd474", kill_on_drop: false }`
[INFO] [stdout] acd1f722cf129ee3097ffbbc2548034bd5c19634fed0140759af2e32447cd474
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4ec03e05cac32f1f6d429e95fd4c0f0c4e676504f1bf3cdd644743bb54652701
[INFO] running `Command { std: "docker" "start" "-a" "4ec03e05cac32f1f6d429e95fd4c0f0c4e676504f1bf3cdd644743bb54652701", kill_on_drop: false }`
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling ahash v0.8.7
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]     Checking chrono v0.4.33
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking array-init-cursor v0.2.0
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking planus v0.3.1
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking streaming-decompression v0.1.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking brotli v3.4.0
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking num-bigint v0.4.4
[INFO] [stderr]    Compiling arrow2 v0.16.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking arrow-format v0.8.1
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]     Checking num-iter v0.1.43
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]     Checking foreign_vec v0.1.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking simdutf8 v0.1.4
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking ethnum v1.5.0
[INFO] [stderr]     Checking hash_hasher v2.0.3
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]     Checking crossterm v0.26.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sysinfo v0.27.8
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking xxhash-rust v0.8.8
[INFO] [stderr]     Checking now v0.1.3
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v3.2.0
[INFO] [stderr]     Checking lexical v6.1.1
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling jobserver v0.1.27
[INFO] [stderr]     Checking bytemuck v1.14.1
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking polars-utils v0.27.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]    Compiling rustix v0.38.30
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling enum_dispatch v0.3.12
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking linux-raw-sys v0.3.8
[INFO] [stderr]     Checking png v0.17.11
[INFO] [stderr]     Checking const-cstr v0.3.0
[INFO] [stderr]    Compiling font-kit v0.11.0
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking const-random v0.1.17
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]    Compiling polars v0.27.2
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking thiserror v1.0.56
[INFO] [stderr]     Checking drawille v0.3.0
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking encode_unicode v1.0.0
[INFO] [stderr]     Checking similar v2.4.0
[INFO] [stderr]     Checking ttf-parser v0.17.1
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking image v0.24.8
[INFO] [stderr]     Checking textplots v0.8.6
[INFO] [stderr]     Checking is-terminal v0.4.10
[INFO] [stderr]    Compiling zstd-sys v2.0.9+zstd.1.5.5
[INFO] [stderr]    Compiling lz4-sys v1.9.4
[INFO] [stderr]    Compiling freetype-sys v0.19.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.35
[INFO] [stderr]     Checking prettytable-rs v0.10.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking similar-asserts v1.5.0
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking parquet-format-safe v0.2.4
[INFO] [stderr]     Checking terminal_size v0.2.6
[INFO] [stderr]     Checking kdam v0.3.0
[INFO] [stderr]     Checking plotters-bitmap v0.3.3
[INFO] [stderr]     Checking mimalloc v0.1.39
[INFO] [stderr]    Compiling multiversion-macros v0.6.1
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking multiversion v0.6.1
[INFO] [stderr]     Checking comfy-table v6.2.0
[INFO] [stderr]     Checking freetype v0.7.1
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]     Checking zstd v0.12.4
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking lz4 v1.24.0
[INFO] [stderr]     Checking parquet2 v0.17.2
[INFO] [stderr]     Checking polars-arrow v0.27.2
[INFO] [stderr]     Checking polars-core v0.27.2
[INFO] [stderr]     Checking polars-ops v0.27.2
[INFO] [stderr]     Checking polars-time v0.27.2
[INFO] [stderr]     Checking polars-io v0.27.2
[INFO] [stderr]     Checking polars-plan v0.27.2
[INFO] [stderr]     Checking polars-pipe v0.27.2
[INFO] [stderr]     Checking polars-lazy v0.27.2
[INFO] [stderr]     Checking nersent_pace v0.6.22 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TradeDirection`
[INFO] [stdout]  --> src/content/aroon.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`
[INFO] [stdout]   --> src/content/awesome_oscillator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/balance_of_power.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/bollinger_bands_pb.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/bollinger_bands_width.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ta::{
[INFO] [stdout] 12 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/chaikin_money_flow.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/chande_kroll_stop.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/chande_momentum_oscillator.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     },
[INFO] [stdout] 19 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/choppiness_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest::Lowest, lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/commodity_channel_index.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, dev::Dev, highest_bars::HighestBars,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, simple_moving_average::Sma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/connors_relative_strength_index.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, percent_rank::Prank, rate_of_change::Roc,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/coppock_curve.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, rate_of_change::Roc, weighted_moving_average::Wma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:6:15
[INFO] [stdout]    |
[INFO] [stdout] 6  |         src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |               ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/donchian_channels.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/macd.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/price_oscillator.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `println`
[INFO] [stdout]  --> src/content/relative_strength_index.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, println};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyProcessor`, `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_strength_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `CrossMode`, `Cross`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::{Cross, CrossMode},
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_volatility_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/stoch_relative_strength_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/ultimate_oscillator.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/volume_oscillator.rs:4:33
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                                 ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/vortex.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/williams_percent_range.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest::Lowest,
[INFO] [stdout] 20 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hash_map::Values`, `path::Path`
[INFO] [stdout]  --> src/core/asset.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Values, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     fmt::{Display, Formatter},
[INFO] [stdout] 4 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::polars::io::read_df`
[INFO] [stdout]  --> src/core/asset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::polars::io::read_df;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataProvider`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/core/asset.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |     data_provider::{AnyDataProvider, DataProvider},
[INFO] [stdout]    |                                      ^^^^^^^^^^^^
[INFO] [stdout] 12 |     in_memory_data_provider::InMemoryDataProvider,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `RefCell`, `RefMut`, `UnsafeCell`
[INFO] [stdout]  --> src/core/context.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 3 |     cell::{Cell, RefCell, RefMut, UnsafeCell},
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::Context`
[INFO] [stdout]  --> src/core/features.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{context::Context, incremental::Incremental, trend::Trend},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::DataFrame`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use polars::prelude::DataFrame;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::src::Src`
[INFO] [stdout]  --> src/core/incremental.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::src::Src;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`, `time::Duration`
[INFO] [stdout]  --> src/polars/dataframe.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataType`, `IsFloat`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`, `series::Series`
[INFO] [stdout]  --> src/polars/dataframe.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^             ^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     },
[INFO] [stdout] 8 |     series::Series,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ensure_dir`, `get_filename_extension`
[INFO] [stdout]   --> src/polars/dataframe.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::fs::{ensure_dir, get_filename_extension};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data_provider::DataProvider`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::{data_provider::DataProvider, in_memory_data_provider::InMemoryDataProvider};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`
[INFO] [stdout]  --> src/polars/series.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataFrame`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`
[INFO] [stdout]  --> src/polars/series.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `trade_direction_from_f64`
[INFO] [stdout]   --> src/polars/series.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{trade_direction_from_f64, StrategySignal, TradeDirection},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `row`
[INFO] [stdout]  --> src/strategy/metrics/cobra_metrics.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prettytable::{color, row, Attr, Cell, Row, Table};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StrategyEvents`, `StrategyMetrics`
[INFO] [stdout]  --> src/strategy/metrics/equity_metrics.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |         strategy::{Strategy, StrategyEvents, StrategyMetrics},
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/optimization.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::{context::Context, data_provider::AnyDataProvider, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `strategy::Strategy`
[INFO] [stdout]  --> src/strategy/optimization.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     strategy::Strategy,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     trade::{SignalFixture, TradeDirection},
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `RefMut`, `Ref`, `rc::Rc`
[INFO] [stdout]  --> src/strategy/strategy.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cell::{Ref, RefCell, RefMut},
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 3 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::src::ohlc4`
[INFO] [stdout]  --> src/strategy/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     common::src::ohlc4,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::Any, collections::HashMap, sync::Arc};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `self`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     context::Context,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     data_provider::{self, AnyDataProvider},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradingViewMetricsData`, `TradingViewMetrics`, `strategy::Strategy`, `trade::StrategySignal`
[INFO] [stdout]   --> src/strategy/strategy_runner.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 |     metrics::tradingview_metrics::{TradingViewMetrics, TradingViewMetricsData},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     strategy::Strategy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     trade::StrategySignal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColoredString`, `Colorize`
[INFO] [stdout]  --> src/strategy/trade.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::export::ahash::HashMap`
[INFO] [stdout]  --> src/strategy/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::export::ahash::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/utils.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::{context::Context, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::strategy::Strategy`
[INFO] [stdout]  --> src/strategy/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::strategy::Strategy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::IsFloat`
[INFO] [stdout]  --> src/ta/bars.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::prelude::IsFloat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `MaKind`, `Ma`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::stdev::Stdev`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/ta/commodity_channel_index.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     statistics::stdev::Stdev,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     ta::{
[INFO] [stdout] 10 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         dev::Dev,
[INFO] [stdout] 14 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_under`
[INFO] [stdout]  --> src/ta/cross_over_threshold.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under_threshold.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/rate_of_change.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/running_moving_average.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pinescript::common::PineScriptFloat64`, `utils::float::Float64Utils`
[INFO] [stdout]  --> src/ta/simple_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     utils::float::Float64Utils,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/stoch.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/sum.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/symmetrically_weighted_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/true_range.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]  --> src/testing/array_snapshot.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf`, `sync::Arc`
[INFO] [stdout]  --> src/testing/fixture.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     path::{Path, PathBuf},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 3 |     sync::Arc,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/testing/fixture.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/common/tests/fixnan_test.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/common/tests/float_series_test.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider`
[INFO] [stdout]  --> src/common/tests/float_series_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::core::data_provider::DataProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `context::Context`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/common/tests/float_series_test.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         common::fixnan::FixNan,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         core::{context::Context, in_memory_data_provider::InMemoryDataProvider},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TradeDirection`
[INFO] [stdout]  --> src/content/aroon.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`
[INFO] [stdout]   --> src/content/awesome_oscillator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/balance_of_power.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/bollinger_bands_pb.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/bollinger_bands_width.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ta::{
[INFO] [stdout] 12 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/chaikin_money_flow.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/chande_kroll_stop.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/chande_momentum_oscillator.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     },
[INFO] [stdout] 19 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/choppiness_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest::Lowest, lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/commodity_channel_index.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, dev::Dev, highest_bars::HighestBars,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, simple_moving_average::Sma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/connors_relative_strength_index.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, percent_rank::Prank, rate_of_change::Roc,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/coppock_curve.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, rate_of_change::Roc, weighted_moving_average::Wma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:6:15
[INFO] [stdout]    |
[INFO] [stdout] 6  |         src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |               ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/donchian_channels.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/macd.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/price_oscillator.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `println`
[INFO] [stdout]  --> src/content/relative_strength_index.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, println};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyProcessor`, `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_strength_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `CrossMode`, `Cross`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::{Cross, CrossMode},
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_volatility_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/stoch_relative_strength_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/ultimate_oscillator.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/volume_oscillator.rs:4:33
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                                 ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/vortex.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/williams_percent_range.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest::Lowest,
[INFO] [stdout] 20 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataFrameFixtureUtils`, `ta::simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/aroon_test.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout] 9  |         ta::simple_moving_average::Sma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/awesome_oscillator_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/balance_of_power_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/bollinger_bands_pb_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/bollinger_bands_width_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/chaikin_money_flow_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/chande_kroll_stop_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/chande_momentum_oscillator_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         ta::{
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/choppiness_index_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/commodity_channel_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/connors_relative_strength_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         ta::{
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/coppock_curve_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/directional_movement_index_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/donchian_channels_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/macd_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/price_oscillator_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `StrategySignal`, `TradeDirection`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/relative_strength_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         ta::{
[INFO] [stdout] 20 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 21 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/relative_vigor_index_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/relative_volatility_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/stoch_relative_strength_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/ultimate_oscillator_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/volume_oscillator_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/vortex_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/williams_percent_range_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hash_map::Values`, `path::Path`
[INFO] [stdout]  --> src/core/asset.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Values, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     fmt::{Display, Formatter},
[INFO] [stdout] 4 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::polars::io::read_df`
[INFO] [stdout]  --> src/core/asset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::polars::io::read_df;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataProvider`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/core/asset.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |     data_provider::{AnyDataProvider, DataProvider},
[INFO] [stdout]    |                                      ^^^^^^^^^^^^
[INFO] [stdout] 12 |     in_memory_data_provider::InMemoryDataProvider,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `RefCell`, `RefMut`, `UnsafeCell`
[INFO] [stdout]  --> src/core/context.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 3 |     cell::{Cell, RefCell, RefMut, UnsafeCell},
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::Context`
[INFO] [stdout]  --> src/core/features.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{context::Context, incremental::Incremental, trend::Trend},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::DataFrame`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use polars::prelude::DataFrame;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::src::Src`
[INFO] [stdout]  --> src/core/incremental.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::src::Src;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/pinescript/tests/float_test.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::float_series::FloatSeries`
[INFO] [stdout]  --> src/pinescript/tests/float_test.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::common::float_series::FloatSeries;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider`
[INFO] [stdout]  --> src/pinescript/tests/float_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::core::data_provider::DataProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `context::Context`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/pinescript/tests/float_test.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         common::fixnan::FixNan,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         core::{context::Context, in_memory_data_provider::InMemoryDataProvider},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`, `time::Duration`
[INFO] [stdout]  --> src/polars/dataframe.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataType`, `IsFloat`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`, `series::Series`
[INFO] [stdout]  --> src/polars/dataframe.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^             ^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     },
[INFO] [stdout] 8 |     series::Series,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ensure_dir`, `get_filename_extension`
[INFO] [stdout]   --> src/polars/dataframe.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::fs::{ensure_dir, get_filename_extension};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data_provider::DataProvider`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::{data_provider::DataProvider, in_memory_data_provider::InMemoryDataProvider};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`
[INFO] [stdout]  --> src/polars/series.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataFrame`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`
[INFO] [stdout]  --> src/polars/series.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `trade_direction_from_f64`
[INFO] [stdout]   --> src/polars/series.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{trade_direction_from_f64, StrategySignal, TradeDirection},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `row`
[INFO] [stdout]  --> src/strategy/metrics/cobra_metrics.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prettytable::{color, row, Attr, Cell, Row, Table};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StrategyEvents`, `StrategyMetrics`
[INFO] [stdout]  --> src/strategy/metrics/equity_metrics.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |         strategy::{Strategy, StrategyEvents, StrategyMetrics},
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `sync::Arc`
[INFO] [stdout]  --> src/strategy/metrics/tests/strategy_metrics_test.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |         path::{Path, PathBuf},
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 5 |         sync::Arc,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TradeDirection`
[INFO] [stdout]   --> src/strategy/metrics/tests/strategy_metrics_test.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |             trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/optimization.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::{context::Context, data_provider::AnyDataProvider, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `strategy::Strategy`
[INFO] [stdout]  --> src/strategy/optimization.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     strategy::Strategy,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     trade::{SignalFixture, TradeDirection},
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `RefMut`, `Ref`, `rc::Rc`
[INFO] [stdout]  --> src/strategy/strategy.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cell::{Ref, RefCell, RefMut},
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 3 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::src::ohlc4`
[INFO] [stdout]  --> src/strategy/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     common::src::ohlc4,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::Any, collections::HashMap, sync::Arc};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `self`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     context::Context,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     data_provider::{self, AnyDataProvider},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradingViewMetricsData`, `TradingViewMetrics`, `strategy::Strategy`, `trade::StrategySignal`
[INFO] [stdout]   --> src/strategy/strategy_runner.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 |     metrics::tradingview_metrics::{TradingViewMetrics, TradingViewMetricsData},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     strategy::Strategy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     trade::StrategySignal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColoredString`, `Colorize`
[INFO] [stdout]  --> src/strategy/trade.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::export::ahash::HashMap`
[INFO] [stdout]  --> src/strategy/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::export::ahash::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/utils.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::{context::Context, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::strategy::Strategy`
[INFO] [stdout]  --> src/strategy/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::strategy::Strategy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/strategy/tests/strategy_test.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |         path::{Path, PathBuf},
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fixture::Fixture`
[INFO] [stdout]   --> src/strategy/tests/strategy_test.rs:22:44
[INFO] [stdout]    |
[INFO] [stdout] 22 |             array_snapshot::ArraySnapshot, fixture::Fixture, pace::format_pace_fixture_path,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::IsFloat`
[INFO] [stdout]  --> src/ta/bars.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::prelude::IsFloat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `MaKind`, `Ma`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::stdev::Stdev`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/ta/commodity_channel_index.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     statistics::stdev::Stdev,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     ta::{
[INFO] [stdout] 10 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         dev::Dev,
[INFO] [stdout] 14 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_under`
[INFO] [stdout]  --> src/ta/cross_over_threshold.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under_threshold.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/rate_of_change.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/running_moving_average.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pinescript::common::PineScriptFloat64`, `utils::float::Float64Utils`
[INFO] [stdout]  --> src/ta/simple_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     utils::float::Float64Utils,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/stoch.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/sum.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/symmetrically_weighted_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/true_range.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/average_true_range_test.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |         ta::{average_true_range::Atr, exponential_moving_average::Ema},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `dev::Dev`, `exponential_moving_average::Ema`
[INFO] [stdout]   --> src/ta/tests/bars_since_test.rs:9:13
[INFO] [stdout]    |
[INFO] [stdout] 9  |             average_true_range::Atr, bars_since::BarsSince, change::Change, dev::Dev,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^                         ^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 10 |             exponential_moving_average::Ema,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/change_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{average_true_range::Atr, change::Change, exponential_moving_average::Ema},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/commodity_channel_index_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, commodity_channel_index::Cci, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cross_over_threshold::CrossOverThreshold`
[INFO] [stdout]  --> src/ta/tests/cross_over_test.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |             cross_over::CrossOver, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]   --> src/ta/tests/cross_test.rs:8:13
[INFO] [stdout]    |
[INFO] [stdout] 8  |             average_true_range::Atr,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |             change::Change,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |             cross::{Cross, CrossMode},
[INFO] [stdout] 11 |             exponential_moving_average::Ema,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/cross_threshold_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, cross::CrossMode,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |             cross_threshold::CrossThreshold, exponential_moving_average::Ema,
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/cross_under_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, cross_under::CrossUnder,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |             exponential_moving_average::Ema, relative_strength_index::Rsi,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/cross_under_threshold_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |             exponential_moving_average::Ema, relative_strength_index::Rsi,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/dev_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{average_true_range::Atr, change::Change, dev::Dev, exponential_moving_average::Ema},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/exponential_moving_average_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/highest_bars_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/highest_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/lowest_bars_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/lowest_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/ta/tests/nan_test.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::path::{Path, PathBuf};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `Chained`, `DataFrameFixtureUtils`, `Fixture`, `SrcKind`, `Src`, `incremental::test_incremental`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/ta/tests/nan_test.rs:8:23
[INFO] [stdout]    |
[INFO] [stdout] 8  |         common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                       ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |             incremental::{Chained, Incremental},
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 27 |             incremental::test_incremental,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |         utils::float::Float64Utils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/percent_rank_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/rate_of_change_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataFrameFixtureUtils`, `Fixture`, `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/ta/tests/relative_strength_index_test.rs:9:13
[INFO] [stdout]    |
[INFO] [stdout] 9  |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |             relative_strength_index::Rsi, simple_moving_average::Sma,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chained`, `SrcKind`, `Src`, `incremental::test_incremental`, `polars::series::SeriesCastUtils`
[INFO] [stdout]   --> src/ta/tests/simple_moving_average_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         core::incremental::{Chained, Incremental},
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 8  |         polars::series::SeriesCastUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |             incremental::test_incremental,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/stdev_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema, stdev::Stdev,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/stoch_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema, stoch::Stoch,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/sum_test.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |         ta::{average_true_range::Atr, change::Change, exponential_moving_average::Ema, sum::Sum},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/symmetrically_weighted_moving_average_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/true_range_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/weighted_moving_average_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]  --> src/testing/array_snapshot.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf`, `sync::Arc`
[INFO] [stdout]  --> src/testing/fixture.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     path::{Path, PathBuf},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 3 |     sync::Arc,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/testing/fixture.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/tests/integration/a_test.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider`
[INFO] [stdout]  --> src/tests/integration/a_test.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::core::data_provider::DataProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/tests/integration/a_test.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         common::fixnan::FixNan,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         core::{context::Context, in_memory_data_provider::InMemoryDataProvider},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/balance_of_power.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/chaikin_money_flow.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Incremental`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     incremental::{Incremental, RunPeriod},
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/choppiness_index.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/ultimate_oscillator.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/vortex.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataProvider`
[INFO] [stdout]   --> src/core/context.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::data_provider::{AnyDataProvider, DataProvider};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]    --> src/content/macd.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let (value, signal) = self.inner.next(());
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn default(ctx: Context) -> Self {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_tick`
[INFO] [stdout]   --> src/content/vortex.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let current_tick = self.ctx.bar.index();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/pinescript/pinescript_exporter.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut offset: i32 = -1;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategy/metrics/cobra_metrics.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut cell = Cell::new(text)
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/strategy/metrics/equity_metrics.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f_raw`
[INFO] [stdout]   --> src/strategy/metrics/tradingview_metrics.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let f_raw = |value: f64| format!("{:0.2}", value);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/strategy/metrics/tradingview_metrics.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qty`
[INFO] [stdout]    --> src/strategy/strategy.rs:204:54
[INFO] [stdout]     |
[INFO] [stdout] 204 |                         if let StrategySignal::Sized(qty) = self.unfilled_signal {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_qty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `up_trend_confirmation` and `down_trend_confirmation` are never read
[INFO] [stdout]   --> src/content/aroon.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct AroonStrategy {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     up_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     down_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 87 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/balance_of_power.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/chaikin_money_flow.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/choppiness_index.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/ultimate_oscillator.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/vortex.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataProvider`
[INFO] [stdout]   --> src/core/context.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::data_provider::{AnyDataProvider, DataProvider};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Incremental`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     incremental::{Incremental, RunPeriod},
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]    --> src/content/macd.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let (value, signal) = self.inner.next(());
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn default(ctx: Context) -> Self {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_tick`
[INFO] [stdout]   --> src/content/vortex.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let current_tick = self.ctx.bar.index();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/content/tests/macd_test.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let (macd, signal) = target.next(());
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/pinescript/pinescript_exporter.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut offset: i32 = -1;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategy/metrics/cobra_metrics.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut cell = Cell::new(text)
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/strategy/metrics/equity_metrics.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f_raw`
[INFO] [stdout]   --> src/strategy/metrics/tradingview_metrics.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let f_raw = |value: f64| format!("{:0.2}", value);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/strategy/metrics/tradingview_metrics.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qty`
[INFO] [stdout]    --> src/strategy/strategy.rs:204:54
[INFO] [stdout]     |
[INFO] [stdout] 204 |                         if let StrategySignal::Sized(qty) = self.unfilled_signal {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_qty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/strategy/tests/strategy_test.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let output = target.next(signal);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_capital`
[INFO] [stdout]      --> src/strategy/tests/strategy_test.rs:10938:17
[INFO] [stdout]       |
[INFO] [stdout] 10938 |             let initial_capital = self.strategy.config.initial_capital;
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_capital`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/tests/integration/a_test.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut sum = 0.0;
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `speedin`
[INFO] [stdout]   --> src/tests/integration/a_test.rs:44:57
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn _test(ctx: Context, mut src: AnySrc, per: usize, speedin: usize, expected: &[f64]) {
[INFO] [stdout]    |                                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speedin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/integration/a_test.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut sum = 0.0;
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `up_trend_confirmation` and `down_trend_confirmation` are never read
[INFO] [stdout]   --> src/content/aroon.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct AroonStrategy {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     up_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     down_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_run_up_percent` is never read
[INFO] [stdout]   --> src/strategy/metrics/tests/strategy_metrics_test.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     struct TestUtilityMetrics {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |         pub max_run_up_percent: f64,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestUtilityMetrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_path` is never used
[INFO] [stdout]   --> src/strategy/tests/strategy_test.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn format_path(path: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestExecutionTarget` is never constructed
[INFO] [stdout]      --> src/strategy/tests/strategy_test.rs:10892:12
[INFO] [stdout]       |
[INFO] [stdout] 10892 |     struct TestExecutionTarget {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `next` are never used
[INFO] [stdout]      --> src/strategy/tests/strategy_test.rs:10902:16
[INFO] [stdout]       |
[INFO] [stdout] 10901 |     impl TestExecutionTarget {
[INFO] [stdout]       |     ------------------------ associated items in this implementation
[INFO] [stdout] 10902 |         pub fn new(
[INFO] [stdout]       |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10921 |         pub fn next(&mut self) -> TestExecutionPayload {
[INFO] [stdout]       |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_path` is never used
[INFO] [stdout]   --> src/ta/tests/relative_strength_index_test.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn format_path(path: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 164 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 22.50s
[INFO] running `Command { std: "docker" "inspect" "4ec03e05cac32f1f6d429e95fd4c0f0c4e676504f1bf3cdd644743bb54652701", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ec03e05cac32f1f6d429e95fd4c0f0c4e676504f1bf3cdd644743bb54652701", kill_on_drop: false }`
[INFO] [stdout] 4ec03e05cac32f1f6d429e95fd4c0f0c4e676504f1bf3cdd644743bb54652701
[INFO] checking nersent_pace-0.6.22 against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] extracting crate nersent_pace 0.6.22 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate nersent_pace 0.6.22 on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nersent_pace 0.6.22
[INFO] finished tweaking crates.io crate nersent_pace 0.6.22
[INFO] tweaked toml for crates.io crate nersent_pace 0.6.22 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 280431c411b3ad223d39ac508d581f6bd83bdd2178f47557a1e47507588c3131
[INFO] running `Command { std: "docker" "start" "-a" "280431c411b3ad223d39ac508d581f6bd83bdd2178f47557a1e47507588c3131", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "280431c411b3ad223d39ac508d581f6bd83bdd2178f47557a1e47507588c3131", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "280431c411b3ad223d39ac508d581f6bd83bdd2178f47557a1e47507588c3131", kill_on_drop: false }`
[INFO] [stdout] 280431c411b3ad223d39ac508d581f6bd83bdd2178f47557a1e47507588c3131
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e3596ae2c12fad44e951b4464e0ac5309c7c27f6fa2d748aee1a3810e09ae235
[INFO] running `Command { std: "docker" "start" "-a" "e3596ae2c12fad44e951b4464e0ac5309c7c27f6fa2d748aee1a3810e09ae235", kill_on_drop: false }`
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling ahash v0.8.7
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]     Checking chrono v0.4.33
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking array-init-cursor v0.2.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking planus v0.3.1
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking streaming-decompression v0.1.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking brotli v3.4.0
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]    Compiling arrow2 v0.16.0
[INFO] [stderr]     Checking num-bigint v0.4.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking arrow-format v0.8.1
[INFO] [stderr]     Checking num-iter v0.1.43
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking simdutf8 v0.1.4
[INFO] [stderr]     Checking foreign_vec v0.1.0
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]     Checking hash_hasher v2.0.3
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking ethnum v1.5.0
[INFO] [stderr]     Checking crossterm v0.26.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sysinfo v0.27.8
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking xxhash-rust v0.8.8
[INFO] [stderr]     Checking now v0.1.3
[INFO] [stderr]     Checking lexical v6.1.1
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v3.2.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]    Compiling jobserver v0.1.27
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking polars-utils v0.27.2
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]     Checking bytemuck v1.14.1
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling rustix v0.38.30
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling enum_dispatch v0.3.12
[INFO] [stderr]     Checking png v0.17.11
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking const-cstr v0.3.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]    Compiling font-kit v0.11.0
[INFO] [stderr]     Checking linux-raw-sys v0.3.8
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking const-random v0.1.17
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]    Compiling polars v0.27.2
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking drawille v0.3.0
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking thiserror v1.0.56
[INFO] [stderr]     Checking similar v2.4.0
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking image v0.24.8
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking ttf-parser v0.17.1
[INFO] [stderr]     Checking encode_unicode v1.0.0
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking textplots v0.8.6
[INFO] [stderr]     Checking is-terminal v0.4.10
[INFO] [stderr]    Compiling zstd-sys v2.0.9+zstd.1.5.5
[INFO] [stderr]    Compiling lz4-sys v1.9.4
[INFO] [stderr]    Compiling freetype-sys v0.19.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.35
[INFO] [stderr]     Checking similar-asserts v1.5.0
[INFO] [stderr]     Checking prettytable-rs v0.10.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking parquet-format-safe v0.2.4
[INFO] [stderr]     Checking terminal_size v0.2.6
[INFO] [stderr]     Checking kdam v0.3.0
[INFO] [stderr]     Checking plotters-bitmap v0.3.3
[INFO] [stderr]     Checking mimalloc v0.1.39
[INFO] [stderr]    Compiling multiversion-macros v0.6.1
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking multiversion v0.6.1
[INFO] [stderr]     Checking comfy-table v6.2.0
[INFO] [stderr]     Checking freetype v0.7.1
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking zstd v0.12.4
[INFO] [stderr]     Checking lz4 v1.24.0
[INFO] [stderr]     Checking parquet2 v0.17.2
[INFO] [stderr]     Checking polars-arrow v0.27.2
[INFO] [stderr]     Checking polars-core v0.27.2
[INFO] [stderr]     Checking polars-ops v0.27.2
[INFO] [stderr]     Checking polars-time v0.27.2
[INFO] [stderr]     Checking polars-io v0.27.2
[INFO] [stderr]     Checking polars-plan v0.27.2
[INFO] [stderr]     Checking polars-pipe v0.27.2
[INFO] [stderr]     Checking polars-lazy v0.27.2
[INFO] [stderr]     Checking nersent_pace v0.6.22 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TradeDirection`
[INFO] [stdout]  --> src/content/aroon.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`
[INFO] [stdout]   --> src/content/awesome_oscillator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/balance_of_power.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/bollinger_bands_pb.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/bollinger_bands_width.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ta::{
[INFO] [stdout] 12 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/chaikin_money_flow.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/chande_kroll_stop.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/chande_momentum_oscillator.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     },
[INFO] [stdout] 19 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/choppiness_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest::Lowest, lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/commodity_channel_index.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, dev::Dev, highest_bars::HighestBars,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, simple_moving_average::Sma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/connors_relative_strength_index.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, percent_rank::Prank, rate_of_change::Roc,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/coppock_curve.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, rate_of_change::Roc, weighted_moving_average::Wma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:6:15
[INFO] [stdout]    |
[INFO] [stdout] 6  |         src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |               ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/donchian_channels.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/macd.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/price_oscillator.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `println`
[INFO] [stdout]  --> src/content/relative_strength_index.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, println};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyProcessor`, `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_strength_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `CrossMode`, `Cross`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::{Cross, CrossMode},
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_volatility_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/stoch_relative_strength_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/ultimate_oscillator.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/volume_oscillator.rs:4:33
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                                 ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/vortex.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/williams_percent_range.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest::Lowest,
[INFO] [stdout] 20 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hash_map::Values`, `path::Path`
[INFO] [stdout]  --> src/core/asset.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Values, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     fmt::{Display, Formatter},
[INFO] [stdout] 4 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::polars::io::read_df`
[INFO] [stdout]  --> src/core/asset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::polars::io::read_df;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataProvider`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/core/asset.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |     data_provider::{AnyDataProvider, DataProvider},
[INFO] [stdout]    |                                      ^^^^^^^^^^^^
[INFO] [stdout] 12 |     in_memory_data_provider::InMemoryDataProvider,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `RefCell`, `RefMut`, `UnsafeCell`
[INFO] [stdout]  --> src/core/context.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 3 |     cell::{Cell, RefCell, RefMut, UnsafeCell},
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::Context`
[INFO] [stdout]  --> src/core/features.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{context::Context, incremental::Incremental, trend::Trend},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::DataFrame`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use polars::prelude::DataFrame;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::src::Src`
[INFO] [stdout]  --> src/core/incremental.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::src::Src;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`, `time::Duration`
[INFO] [stdout]  --> src/polars/dataframe.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataType`, `IsFloat`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`, `series::Series`
[INFO] [stdout]  --> src/polars/dataframe.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^             ^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     },
[INFO] [stdout] 8 |     series::Series,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ensure_dir`, `get_filename_extension`
[INFO] [stdout]   --> src/polars/dataframe.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::fs::{ensure_dir, get_filename_extension};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data_provider::DataProvider`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::{data_provider::DataProvider, in_memory_data_provider::InMemoryDataProvider};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`
[INFO] [stdout]  --> src/polars/series.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataFrame`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`
[INFO] [stdout]  --> src/polars/series.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `trade_direction_from_f64`
[INFO] [stdout]   --> src/polars/series.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{trade_direction_from_f64, StrategySignal, TradeDirection},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `row`
[INFO] [stdout]  --> src/strategy/metrics/cobra_metrics.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prettytable::{color, row, Attr, Cell, Row, Table};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StrategyEvents`, `StrategyMetrics`
[INFO] [stdout]  --> src/strategy/metrics/equity_metrics.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |         strategy::{Strategy, StrategyEvents, StrategyMetrics},
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/optimization.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::{context::Context, data_provider::AnyDataProvider, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `strategy::Strategy`
[INFO] [stdout]  --> src/strategy/optimization.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     strategy::Strategy,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     trade::{SignalFixture, TradeDirection},
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `RefMut`, `Ref`, `rc::Rc`
[INFO] [stdout]  --> src/strategy/strategy.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cell::{Ref, RefCell, RefMut},
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 3 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::src::ohlc4`
[INFO] [stdout]  --> src/strategy/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     common::src::ohlc4,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::Any, collections::HashMap, sync::Arc};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `self`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     context::Context,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     data_provider::{self, AnyDataProvider},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradingViewMetricsData`, `TradingViewMetrics`, `strategy::Strategy`, `trade::StrategySignal`
[INFO] [stdout]   --> src/strategy/strategy_runner.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 |     metrics::tradingview_metrics::{TradingViewMetrics, TradingViewMetricsData},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     strategy::Strategy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     trade::StrategySignal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColoredString`, `Colorize`
[INFO] [stdout]  --> src/strategy/trade.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::export::ahash::HashMap`
[INFO] [stdout]  --> src/strategy/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::export::ahash::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/utils.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::{context::Context, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::strategy::Strategy`
[INFO] [stdout]  --> src/strategy/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::strategy::Strategy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::IsFloat`
[INFO] [stdout]  --> src/ta/bars.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::prelude::IsFloat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `MaKind`, `Ma`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::stdev::Stdev`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/ta/commodity_channel_index.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     statistics::stdev::Stdev,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     ta::{
[INFO] [stdout] 10 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         dev::Dev,
[INFO] [stdout] 14 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_under`
[INFO] [stdout]  --> src/ta/cross_over_threshold.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under_threshold.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/rate_of_change.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/running_moving_average.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pinescript::common::PineScriptFloat64`, `utils::float::Float64Utils`
[INFO] [stdout]  --> src/ta/simple_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     utils::float::Float64Utils,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/stoch.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/sum.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/symmetrically_weighted_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/true_range.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]  --> src/testing/array_snapshot.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf`, `sync::Arc`
[INFO] [stdout]  --> src/testing/fixture.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     path::{Path, PathBuf},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 3 |     sync::Arc,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/testing/fixture.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/common/tests/fixnan_test.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/common/tests/float_series_test.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider`
[INFO] [stdout]  --> src/common/tests/float_series_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::core::data_provider::DataProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `context::Context`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/common/tests/float_series_test.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         common::fixnan::FixNan,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         core::{context::Context, in_memory_data_provider::InMemoryDataProvider},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TradeDirection`
[INFO] [stdout]  --> src/content/aroon.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`
[INFO] [stdout]   --> src/content/awesome_oscillator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/balance_of_power.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/bollinger_bands_pb.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/bollinger_bands_width.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ta::{
[INFO] [stdout] 12 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/chaikin_money_flow.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/chande_kroll_stop.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/chande_momentum_oscillator.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     },
[INFO] [stdout] 19 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/choppiness_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest::Lowest, lowest_bars::LowestBars, sum::Sum,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/commodity_channel_index.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     statistics::normalization::rescale,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |         cross_under_threshold::CrossUnderThreshold, dev::Dev, highest_bars::HighestBars,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         lowest_bars::LowestBars, simple_moving_average::Sma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/connors_relative_strength_index.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars, percent_rank::Prank, rate_of_change::Roc,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/coppock_curve.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |         cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars, rate_of_change::Roc, weighted_moving_average::Wma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:6:15
[INFO] [stdout]    |
[INFO] [stdout] 6  |         src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |               ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/content/donchian_channels.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     ta::{
[INFO] [stdout] 9  |         cross::Cross, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         lowest::Lowest, lowest_bars::LowestBars,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/macd.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/price_oscillator.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ta::{
[INFO] [stdout] 13 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `println`
[INFO] [stdout]  --> src/content/relative_strength_index.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, println};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyProcessor`, `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_strength_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `CrossMode`, `Cross`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::{Cross, CrossMode},
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     utils::float::Float64Utils,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/relative_volatility_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/stoch_relative_strength_index.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/ultimate_oscillator.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ta::{
[INFO] [stdout] 15 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/volume_oscillator.rs:4:33
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnyProcessor, AnySrc, Src, SrcKind},
[INFO] [stdout]    |                                 ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/vortex.rs:4:19
[INFO] [stdout]    |
[INFO] [stdout] 4  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`
[INFO] [stdout]   --> src/content/williams_percent_range.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ta::{
[INFO] [stdout] 14 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         lowest::Lowest,
[INFO] [stdout] 20 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataFrameFixtureUtils`, `ta::simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/aroon_test.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout] 9  |         ta::simple_moving_average::Sma,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/awesome_oscillator_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/balance_of_power_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/bollinger_bands_pb_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/bollinger_bands_width_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/chaikin_money_flow_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/chande_kroll_stop_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/chande_momentum_oscillator_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         ta::{
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/choppiness_index_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/commodity_channel_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/connors_relative_strength_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         ta::{
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/coppock_curve_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/directional_movement_index_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/donchian_channels_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/macd_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/price_oscillator_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `StrategySignal`, `TradeDirection`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/relative_strength_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         strategy::trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         ta::{
[INFO] [stdout] 20 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 21 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/relative_vigor_index_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/relative_volatility_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/stoch_relative_strength_index_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 18 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/ultimate_oscillator_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/volume_oscillator_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/vortex_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         content::{
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/content/tests/williams_percent_range_test.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout] 8  |             aroon::{Aroon, AroonConfig},
[INFO] [stdout]    |                     ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |             awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         polars::dataframe::DataFrameUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         ta::{
[INFO] [stdout] 15 |             moving_average::{Ma, MaKind},
[INFO] [stdout]    |                              ^^  ^^^^^^
[INFO] [stdout] 16 |             simple_moving_average::Sma,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hash_map::Values`, `path::Path`
[INFO] [stdout]  --> src/core/asset.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Values, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     fmt::{Display, Formatter},
[INFO] [stdout] 4 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::polars::io::read_df`
[INFO] [stdout]  --> src/core/asset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::polars::io::read_df;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataProvider`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/core/asset.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |     data_provider::{AnyDataProvider, DataProvider},
[INFO] [stdout]    |                                      ^^^^^^^^^^^^
[INFO] [stdout] 12 |     in_memory_data_provider::InMemoryDataProvider,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `RefCell`, `RefMut`, `UnsafeCell`
[INFO] [stdout]  --> src/core/context.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 3 |     cell::{Cell, RefCell, RefMut, UnsafeCell},
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::Context`
[INFO] [stdout]  --> src/core/features.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{context::Context, incremental::Incremental, trend::Trend},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::DataFrame`
[INFO] [stdout]  --> src/core/in_memory_data_provider.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use polars::prelude::DataFrame;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::src::Src`
[INFO] [stdout]  --> src/core/incremental.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::src::Src;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/pinescript/tests/float_test.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::float_series::FloatSeries`
[INFO] [stdout]  --> src/pinescript/tests/float_test.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::common::float_series::FloatSeries;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider`
[INFO] [stdout]  --> src/pinescript/tests/float_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::core::data_provider::DataProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `context::Context`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/pinescript/tests/float_test.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         common::fixnan::FixNan,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         core::{context::Context, in_memory_data_provider::InMemoryDataProvider},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`, `time::Duration`
[INFO] [stdout]  --> src/polars/dataframe.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataType`, `IsFloat`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`, `series::Series`
[INFO] [stdout]  --> src/polars/dataframe.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^             ^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     },
[INFO] [stdout] 8 |     series::Series,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ensure_dir`, `get_filename_extension`
[INFO] [stdout]   --> src/polars/dataframe.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::fs::{ensure_dir, get_filename_extension};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data_provider::DataProvider`
[INFO] [stdout]  --> src/polars/in_memory_data_provider.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::{data_provider::DataProvider, in_memory_data_provider::InMemoryDataProvider};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`
[INFO] [stdout]  --> src/polars/series.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataFrame`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`
[INFO] [stdout]  --> src/polars/series.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 6 |         SerReader, SerWriter, TimeUnit,
[INFO] [stdout]   |         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `trade_direction_from_f64`
[INFO] [stdout]   --> src/polars/series.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     strategy::trade::{trade_direction_from_f64, StrategySignal, TradeDirection},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `row`
[INFO] [stdout]  --> src/strategy/metrics/cobra_metrics.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prettytable::{color, row, Attr, Cell, Row, Table};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StrategyEvents`, `StrategyMetrics`
[INFO] [stdout]  --> src/strategy/metrics/equity_metrics.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |         strategy::{Strategy, StrategyEvents, StrategyMetrics},
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `sync::Arc`
[INFO] [stdout]  --> src/strategy/metrics/tests/strategy_metrics_test.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |         path::{Path, PathBuf},
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 5 |         sync::Arc,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TradeDirection`
[INFO] [stdout]   --> src/strategy/metrics/tests/strategy_metrics_test.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |             trade::{StrategySignal, TradeDirection},
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/optimization.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::{context::Context, data_provider::AnyDataProvider, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `strategy::Strategy`
[INFO] [stdout]  --> src/strategy/optimization.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     strategy::Strategy,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     trade::{SignalFixture, TradeDirection},
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `RefMut`, `Ref`, `rc::Rc`
[INFO] [stdout]  --> src/strategy/strategy.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cell::{Ref, RefCell, RefMut},
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 3 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::src::ohlc4`
[INFO] [stdout]  --> src/strategy/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     common::src::ohlc4,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::Any, collections::HashMap, sync::Arc};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `self`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     context::Context,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     data_provider::{self, AnyDataProvider},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradingViewMetricsData`, `TradingViewMetrics`, `strategy::Strategy`, `trade::StrategySignal`
[INFO] [stdout]   --> src/strategy/strategy_runner.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 |     metrics::tradingview_metrics::{TradingViewMetrics, TradingViewMetricsData},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     strategy::Strategy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     trade::StrategySignal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColoredString`, `Colorize`
[INFO] [stdout]  --> src/strategy/trade.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::export::ahash::HashMap`
[INFO] [stdout]  --> src/strategy/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::export::ahash::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental`
[INFO] [stdout]  --> src/strategy/utils.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::{context::Context, incremental::Incremental};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::strategy::Strategy`
[INFO] [stdout]  --> src/strategy/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::strategy::Strategy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/strategy/tests/strategy_test.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |         path::{Path, PathBuf},
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fixture::Fixture`
[INFO] [stdout]   --> src/strategy/tests/strategy_test.rs:22:44
[INFO] [stdout]    |
[INFO] [stdout] 22 |             array_snapshot::ArraySnapshot, fixture::Fixture, pace::format_pace_fixture_path,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::prelude::IsFloat`
[INFO] [stdout]  --> src/ta/bars.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use polars::prelude::IsFloat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `MaKind`, `Ma`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::stdev::Stdev`, `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/ta/commodity_channel_index.rs:2:19
[INFO] [stdout]    |
[INFO] [stdout] 2  |     common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                   ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5  |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     },
[INFO] [stdout] 7  |     statistics::stdev::Stdev,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     ta::{
[INFO] [stdout] 10 |         cross::Cross,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |         cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |         cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         dev::Dev,
[INFO] [stdout] 14 |         highest_bars::HighestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         lowest_bars::LowestBars,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         moving_average::{Ma, MaKind},
[INFO] [stdout]    |                          ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_under`
[INFO] [stdout]  --> src/ta/cross_over_threshold.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over`
[INFO] [stdout]  --> src/ta/cross_under_threshold.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode};
[INFO] [stdout]   |                    ^^^^^^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/rate_of_change.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/running_moving_average.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pinescript::common::PineScriptFloat64`, `utils::float::Float64Utils`
[INFO] [stdout]  --> src/ta/simple_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     utils::float::Float64Utils,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/stoch.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/sum.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/symmetrically_weighted_moving_average.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64`
[INFO] [stdout]  --> src/ta/true_range.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pinescript::common::PineScriptFloat64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/average_true_range_test.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |         ta::{average_true_range::Atr, exponential_moving_average::Ema},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `dev::Dev`, `exponential_moving_average::Ema`
[INFO] [stdout]   --> src/ta/tests/bars_since_test.rs:9:13
[INFO] [stdout]    |
[INFO] [stdout] 9  |             average_true_range::Atr, bars_since::BarsSince, change::Change, dev::Dev,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^                         ^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 10 |             exponential_moving_average::Ema,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/change_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{average_true_range::Atr, change::Change, exponential_moving_average::Ema},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/commodity_channel_index_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, commodity_channel_index::Cci, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cross_over_threshold::CrossOverThreshold`
[INFO] [stdout]  --> src/ta/tests/cross_over_test.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |             cross_over::CrossOver, cross_over_threshold::CrossOverThreshold,
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]   --> src/ta/tests/cross_test.rs:8:13
[INFO] [stdout]    |
[INFO] [stdout] 8  |             average_true_range::Atr,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |             change::Change,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |             cross::{Cross, CrossMode},
[INFO] [stdout] 11 |             exponential_moving_average::Ema,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/cross_threshold_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, cross::CrossMode,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |             cross_threshold::CrossThreshold, exponential_moving_average::Ema,
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/cross_under_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, cross_under::CrossUnder,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |             exponential_moving_average::Ema, relative_strength_index::Rsi,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/cross_under_threshold_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, cross_under_threshold::CrossUnderThreshold,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |             exponential_moving_average::Ema, relative_strength_index::Rsi,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/dev_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{average_true_range::Atr, change::Change, dev::Dev, exponential_moving_average::Ema},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/exponential_moving_average_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/highest_bars_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/highest_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/lowest_bars_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/lowest_test.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/ta/tests/nan_test.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::path::{Path, PathBuf};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySrc`, `Chained`, `DataFrameFixtureUtils`, `Fixture`, `SrcKind`, `Src`, `incremental::test_incremental`, `utils::float::Float64Utils`
[INFO] [stdout]   --> src/ta/tests/nan_test.rs:8:23
[INFO] [stdout]    |
[INFO] [stdout] 8  |         common::src::{AnySrc, Src, SrcKind},
[INFO] [stdout]    |                       ^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |             incremental::{Chained, Incremental},
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 27 |             incremental::test_incremental,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |         utils::float::Float64Utils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/percent_rank_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/rate_of_change_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataFrameFixtureUtils`, `Fixture`, `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `simple_moving_average::Sma`
[INFO] [stdout]   --> src/ta/tests/relative_strength_index_test.rs:9:13
[INFO] [stdout]    |
[INFO] [stdout] 9  |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |             relative_strength_index::Rsi, simple_moving_average::Sma,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |             fixture::{DataFrameFixtureUtils, Fixture},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chained`, `SrcKind`, `Src`, `incremental::test_incremental`, `polars::series::SeriesCastUtils`
[INFO] [stdout]   --> src/ta/tests/simple_moving_average_test.rs:6:23
[INFO] [stdout]    |
[INFO] [stdout] 6  |         common::src::{Src, SrcKind},
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 7  |         core::incremental::{Chained, Incremental},
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 8  |         polars::series::SeriesCastUtils,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |             incremental::test_incremental,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/stdev_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         ta::{
[INFO] [stdout] 9 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema, stdev::Stdev,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/stoch_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema, stoch::Stoch,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/sum_test.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |         ta::{average_true_range::Atr, change::Change, exponential_moving_average::Ema, sum::Sum},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/symmetrically_weighted_moving_average_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`
[INFO] [stdout]  --> src/ta/tests/true_range_test.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |             average_true_range::Atr, change::Change, exponential_moving_average::Ema,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils`
[INFO] [stdout]  --> src/ta/tests/weighted_moving_average_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         polars::series::SeriesCastUtils,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]  --> src/testing/array_snapshot.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf`, `sync::Arc`
[INFO] [stdout]  --> src/testing/fixture.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     path::{Path, PathBuf},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 3 |     sync::Arc,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strategy::trade::TradeDirection`
[INFO] [stdout]   --> src/testing/fixture.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     strategy::trade::TradeDirection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc`
[INFO] [stdout]  --> src/tests/integration/a_test.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::{rc::Rc, sync::Arc};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider`
[INFO] [stdout]  --> src/tests/integration/a_test.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::core::data_provider::DataProvider;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `in_memory_data_provider::InMemoryDataProvider`
[INFO] [stdout]   --> src/tests/integration/a_test.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         common::fixnan::FixNan,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |         core::{context::Context, in_memory_data_provider::InMemoryDataProvider},
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/balance_of_power.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/chaikin_money_flow.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Incremental`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     incremental::{Incremental, RunPeriod},
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/choppiness_index.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/ultimate_oscillator.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/vortex.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataProvider`
[INFO] [stdout]   --> src/core/context.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::data_provider::{AnyDataProvider, DataProvider};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]    --> src/content/macd.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let (value, signal) = self.inner.next(());
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn default(ctx: Context) -> Self {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_tick`
[INFO] [stdout]   --> src/content/vortex.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let current_tick = self.ctx.bar.index();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/pinescript/pinescript_exporter.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut offset: i32 = -1;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategy/metrics/cobra_metrics.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut cell = Cell::new(text)
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/strategy/metrics/equity_metrics.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f_raw`
[INFO] [stdout]   --> src/strategy/metrics/tradingview_metrics.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let f_raw = |value: f64| format!("{:0.2}", value);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/strategy/metrics/tradingview_metrics.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qty`
[INFO] [stdout]    --> src/strategy/strategy.rs:204:54
[INFO] [stdout]     |
[INFO] [stdout] 204 |                         if let StrategySignal::Sized(qty) = self.unfilled_signal {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_qty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `up_trend_confirmation` and `down_trend_confirmation` are never read
[INFO] [stdout]   --> src/content/aroon.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct AroonStrategy {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     up_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     down_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/strategy/trade.rs:3:41
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Clone, Copy, FromPrimitive)]
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_TradeDirection`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 87 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nersent_pace` (lib) due to 2 previous errors; 87 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/balance_of_power.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/chaikin_money_flow.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/choppiness_index.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]   --> src/content/directional_movement_index.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/ultimate_oscillator.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalDefault`
[INFO] [stdout]  --> src/content/vortex.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |         incremental::{Incremental, IncrementalDefault},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataProvider`
[INFO] [stdout]   --> src/core/context.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::data_provider::{AnyDataProvider, DataProvider};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Incremental`
[INFO] [stdout]  --> src/strategy/strategy_runner.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     incremental::{Incremental, RunPeriod},
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]    --> src/content/macd.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let (value, signal) = self.inner.next(());
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/content/relative_vigor_index.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn default(ctx: Context) -> Self {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_tick`
[INFO] [stdout]   --> src/content/vortex.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let current_tick = self.ctx.bar.index();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/content/tests/macd_test.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let (macd, signal) = target.next(());
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/pinescript/pinescript_exporter.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut offset: i32 = -1;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategy/metrics/cobra_metrics.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut cell = Cell::new(text)
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/strategy/metrics/equity_metrics.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f_raw`
[INFO] [stdout]   --> src/strategy/metrics/tradingview_metrics.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let f_raw = |value: f64| format!("{:0.2}", value);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/strategy/metrics/tradingview_metrics.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |         if let Some(e) = &strategy.events.on_trade_exit {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qty`
[INFO] [stdout]    --> src/strategy/strategy.rs:204:54
[INFO] [stdout]     |
[INFO] [stdout] 204 |                         if let StrategySignal::Sized(qty) = self.unfilled_signal {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_qty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/strategy/tests/strategy_test.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let output = target.next(signal);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_capital`
[INFO] [stdout]      --> src/strategy/tests/strategy_test.rs:10938:17
[INFO] [stdout]       |
[INFO] [stdout] 10938 |             let initial_capital = self.strategy.config.initial_capital;
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_capital`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/tests/integration/a_test.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut sum = 0.0;
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `speedin`
[INFO] [stdout]   --> src/tests/integration/a_test.rs:44:57
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn _test(ctx: Context, mut src: AnySrc, per: usize, speedin: usize, expected: &[f64]) {
[INFO] [stdout]    |                                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speedin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/integration/a_test.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut sum = 0.0;
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `up_trend_confirmation` and `down_trend_confirmation` are never read
[INFO] [stdout]   --> src/content/aroon.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct AroonStrategy {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     up_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     down_trend_confirmation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_run_up_percent` is never read
[INFO] [stdout]   --> src/strategy/metrics/tests/strategy_metrics_test.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     struct TestUtilityMetrics {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |         pub max_run_up_percent: f64,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestUtilityMetrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_path` is never used
[INFO] [stdout]   --> src/strategy/tests/strategy_test.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn format_path(path: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestExecutionTarget` is never constructed
[INFO] [stdout]      --> src/strategy/tests/strategy_test.rs:10892:12
[INFO] [stdout]       |
[INFO] [stdout] 10892 |     struct TestExecutionTarget {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `next` are never used
[INFO] [stdout]      --> src/strategy/tests/strategy_test.rs:10902:16
[INFO] [stdout]       |
[INFO] [stdout] 10901 |     impl TestExecutionTarget {
[INFO] [stdout]       |     ------------------------ associated items in this implementation
[INFO] [stdout] 10902 |         pub fn new(
[INFO] [stdout]       |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10921 |         pub fn next(&mut self) -> TestExecutionPayload {
[INFO] [stdout]       |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_path` is never used
[INFO] [stdout]   --> src/ta/tests/relative_strength_index_test.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn format_path(path: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/strategy/trade.rs:3:41
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Clone, Copy, FromPrimitive)]
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_TradeDirection`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 164 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nersent_pace` (lib test) due to 2 previous errors; 164 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e3596ae2c12fad44e951b4464e0ac5309c7c27f6fa2d748aee1a3810e09ae235", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3596ae2c12fad44e951b4464e0ac5309c7c27f6fa2d748aee1a3810e09ae235", kill_on_drop: false }`
[INFO] [stdout] e3596ae2c12fad44e951b4464e0ac5309c7c27f6fa2d748aee1a3810e09ae235
