[INFO] fetching crate nersent_pace 0.6.22...
[INFO] checking nersent_pace-0.6.22 against master#bad50269f8eb0fda214f0478c3afb2c6fbb427fd for pr-149195-1
[INFO] extracting crate nersent_pace 0.6.22 into /workspace/builds/worker-1-tc1/source
[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-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate nersent_pace 0.6.22 on toolchain bad50269f8eb0fda214f0478c3afb2c6fbb427fd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bad50269f8eb0fda214f0478c3afb2c6fbb427fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bad50269f8eb0fda214f0478c3afb2c6fbb427fd" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 291 packages to latest compatible versions
[INFO] [stderr]       Adding colored v2.2.0 (available: v3.0.0)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.14.0)
[INFO] [stderr]       Adding kdam v0.3.0 (available: v0.6.3)
[INFO] [stderr]       Adding ndarray v0.15.6 (available: v0.17.1)
[INFO] [stderr]       Adding num-derive v0.3.3 (available: v0.4.2)
[INFO] [stderr]       Adding polars v0.27.2 (available: v0.52.0)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bad50269f8eb0fda214f0478c3afb2c6fbb427fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded similar v2.7.0
[INFO] [stderr]   Downloaded encode_unicode v1.0.0
[INFO] [stderr]   Downloaded console v0.15.11
[INFO] [stderr]   Downloaded const-random-macro v0.1.16
[INFO] [stderr]   Downloaded similar-asserts v1.7.0
[INFO] [stderr]   Downloaded weezl v0.1.12
[INFO] [stderr]   Downloaded simdutf8 v0.1.5
[INFO] [stderr]   Downloaded libloading v0.8.9
[INFO] [stderr]   Downloaded zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]   Downloaded option-ext v0.2.0
[INFO] [stderr]   Downloaded zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]   Downloaded redox_users v0.5.2
[INFO] [stderr]   Downloaded dwrote v0.11.5
[INFO] [stderr]   Downloaded terminal_size v0.2.6
[INFO] [stderr]   Downloaded dirs-sys v0.5.0
[INFO] [stderr]   Downloaded plotters-svg v0.3.7
[INFO] [stderr]   Downloaded matrixmultiply v0.3.10
[INFO] [stderr]   Downloaded itertools v0.10.5
[INFO] [stderr]   Downloaded enum_dispatch v0.3.13
[INFO] [stderr]   Downloaded lexical-parse-integer v0.8.6
[INFO] [stderr]   Downloaded signal-hook v0.3.18
[INFO] [stderr]   Downloaded ntapi v0.4.1
[INFO] [stderr]   Downloaded parquet2 v0.17.2
[INFO] [stderr]   Downloaded polars-io v0.27.2
[INFO] [stderr]   Downloaded plotters v0.3.7
[INFO] [stderr]   Downloaded lexical-util v0.8.5
[INFO] [stderr]   Downloaded crossterm v0.26.1
[INFO] [stderr]   Downloaded lexical-write-float v0.8.5
[INFO] [stderr]   Downloaded comfy-table v6.2.0
[INFO] [stderr]   Downloaded ndarray v0.15.6
[INFO] [stderr]   Downloaded mio v0.8.11
[INFO] [stderr]   Downloaded rustix v0.37.28
[INFO] [stderr]   Downloaded brotli-decompressor v2.5.1
[INFO] [stderr]   Downloaded zerocopy v0.8.31
[INFO] [stderr]   Downloaded lexical-parse-float v0.8.5
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.31
[INFO] [stderr]   Downloaded polars-plan v0.27.2
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.44
[INFO] [stderr]   Downloaded polars-lazy v0.27.2
[INFO] [stderr]   Downloaded web-sys v0.3.83
[INFO] [stderr]   Downloaded lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]   Downloaded base64 v0.13.1
[INFO] [stderr]   Downloaded ethnum v1.5.2
[INFO] [stderr]   Downloaded parquet-format-safe v0.2.4
[INFO] [stderr]   Downloaded gif v0.12.0
[INFO] [stderr]   Downloaded polars v0.27.2
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.106
[INFO] [stderr]   Downloaded lexical-write-integer v0.8.5
[INFO] [stderr]   Downloaded lexical-core v0.8.5
[INFO] [stderr]   Downloaded csv-core v0.1.13
[INFO] [stderr]   Downloaded js-sys v0.3.83
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.106
[INFO] [stderr]   Downloaded polars-pipe v0.27.2
[INFO] [stderr]   Downloaded memmap2 v0.5.10
[INFO] [stderr]   Downloaded lexical v6.1.1
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.5
[INFO] [stderr]   Downloaded strum_macros v0.24.3
[INFO] [stderr]   Downloaded planus v0.3.1
[INFO] [stderr]   Downloaded arrow-format v0.8.1
[INFO] [stderr]   Downloaded hash_hasher v2.0.4
[INFO] [stderr]   Downloaded multiversion-macros v0.6.1
[INFO] [stderr]   Downloaded multiversion v0.6.1
[INFO] [stderr]   Downloaded lz4 v1.28.1
[INFO] [stderr]   Downloaded seq-macro v0.3.6
[INFO] [stderr]   Downloaded fallible-streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded libredox v0.1.10
[INFO] [stderr]   Downloaded csv v1.4.0
[INFO] [stderr]   Downloaded term v0.7.0
[INFO] [stderr]   Downloaded prettytable-rs v0.10.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.106
[INFO] [stderr]   Downloaded font-kit v0.14.3
[INFO] [stderr]   Downloaded color_quant v1.1.0
[INFO] [stderr]   Downloaded plotters-bitmap v0.3.7
[INFO] [stderr]   Downloaded plotters-backend v0.3.7
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.1
[INFO] [stderr]   Downloaded heck v0.4.1
[INFO] [stderr]   Downloaded array-init-cursor v0.2.1
[INFO] [stderr]   Downloaded alloc-no-stdlib v2.0.4
[INFO] [stderr]   Downloaded alloc-stdlib v0.2.2
[INFO] [stderr]   Downloaded snap v1.1.1
[INFO] [stderr]   Downloaded now v0.1.3
[INFO] [stderr]   Downloaded strum v0.24.1
[INFO] [stderr]   Downloaded foreign_vec v0.1.0
[INFO] [stderr]   Downloaded zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]   Downloaded is-terminal v0.4.17
[INFO] [stderr]   Downloaded float-ord v0.3.2
[INFO] [stderr]   Downloaded kdam v0.3.0
[INFO] [stderr]   Downloaded mimalloc v0.1.48
[INFO] [stderr]   Downloaded rawpointer v0.2.1
[INFO] [stderr]   Downloaded num-derive v0.3.3
[INFO] [stderr]   Downloaded core-text v20.1.0
[INFO] [stderr]   Downloaded wio v0.2.2
[INFO] [stderr]   Downloaded winapi-util v0.1.11
[INFO] [stderr]   Downloaded pathfinder_simd v0.5.5
[INFO] [stderr]   Downloaded arrow2 v0.16.0
[INFO] [stderr]   Downloaded hashbrown v0.13.2
[INFO] [stderr]   Downloaded zstd-safe v6.0.6
[INFO] [stderr]   Downloaded brotli v3.5.0
[INFO] [stderr]   Downloaded jobserver v0.1.34
[INFO] [stderr]   Downloaded polars-core v0.27.2
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.106
[INFO] [stderr]   Downloaded bstr v1.12.1
[INFO] [stderr]   Downloaded dirs v6.0.0
[INFO] [stderr]   Downloaded pathfinder_geometry v0.5.1
[INFO] [stderr]   Downloaded strength_reduce v0.2.4
[INFO] [stderr]   Downloaded const-random v0.1.18
[INFO] [stderr]   Downloaded num-complex v0.4.6
[INFO] [stderr]   Downloaded polars-arrow v0.27.2
[INFO] [stderr]   Downloaded sysinfo v0.27.8
[INFO] [stderr]   Downloaded polars-time v0.27.2
[INFO] [stderr]   Downloaded streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded rand_distr v0.4.3
[INFO] [stderr]   Downloaded textplots v0.8.7
[INFO] [stderr]   Downloaded tiny-keccak v2.0.2
[INFO] [stderr]   Downloaded num v0.4.3
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.56
[INFO] [stderr]   Downloaded polars-utils v0.27.2
[INFO] [stderr]   Downloaded yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]   Downloaded zstd v0.12.4
[INFO] [stderr]   Downloaded smartstring v1.0.1
[INFO] [stderr]   Downloaded polars-ops v0.27.2
[INFO] [stderr]   Downloaded streaming-decompression v0.1.2
[INFO] [stderr]   Downloaded rgb v0.8.52
[INFO] [stderr]   Downloaded colored v2.2.0
[INFO] [stderr]   Downloaded drawille v0.3.0
[INFO] [stderr]   Downloaded freetype-sys v0.20.1
[INFO] [stderr]   Downloaded image v0.24.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+bad50269f8eb0fda214f0478c3afb2c6fbb427fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f4b9861499fd53d6a24067ac92be8a0a7ff5093536b320292cef611f05c11149
[INFO] running `Command { std: "docker" "start" "-a" "f4b9861499fd53d6a24067ac92be8a0a7ff5093536b320292cef611f05c11149", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f4b9861499fd53d6a24067ac92be8a0a7ff5093536b320292cef611f05c11149", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4b9861499fd53d6a24067ac92be8a0a7ff5093536b320292cef611f05c11149", kill_on_drop: false }`
[INFO] [stdout] f4b9861499fd53d6a24067ac92be8a0a7ff5093536b320292cef611f05c11149
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+bad50269f8eb0fda214f0478c3afb2c6fbb427fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7145c8124d17d8d5fd5ad2ad835f9bc132add8fa3271c5edbf0c90a111648958
[INFO] running `Command { std: "docker" "start" "-a" "7145c8124d17d8d5fd5ad2ad835f9bc132add8fa3271c5edbf0c90a111648958", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking brotli-decompressor v2.5.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking array-init-cursor v0.2.1
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking streaming-decompression v0.1.2
[INFO] [stderr]     Checking planus v0.3.1
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking brotli v3.5.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling arrow2 v0.16.0
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling multiversion-macros v0.6.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking ethnum v1.5.2
[INFO] [stderr]     Checking multiversion v0.6.1
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking foreign_vec v0.1.0
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking hash_hasher v2.0.4
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking crossterm v0.26.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking parquet-format-safe v0.2.4
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking sysinfo v0.27.8
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]     Checking polars-utils v0.27.2
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking arrow-format v0.8.1
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking comfy-table v6.2.0
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]     Checking lexical v6.1.1
[INFO] [stderr]     Checking now v0.1.3
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]    Compiling pathfinder_simd v0.5.5
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.44
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling font-kit v0.14.3
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking linux-raw-sys v0.3.8
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]    Compiling polars v0.27.2
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking drawille v0.3.0
[INFO] [stderr]     Checking terminal_size v0.2.6
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking encode_unicode v1.0.0
[INFO] [stderr]     Checking textplots v0.8.7
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking similar-asserts v1.7.0
[INFO] [stderr]     Checking mimalloc v0.1.48
[INFO] [stderr]     Checking kdam v0.3.0
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking prettytable-rs v0.10.0
[INFO] [stderr]     Checking plotters-bitmap v0.3.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking zstd v0.12.4
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking lz4 v1.28.1
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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`, and `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` and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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` and `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` and `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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rc::Rc` and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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` and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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` and `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`, and `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` and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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`, and `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`, and `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` and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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` and `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` and `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: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead
[INFO] [stdout]  --> src/utils/time.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     return NaiveDateTime::from_timestamp_millis(time).unwrap();
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead
[INFO] [stdout]  --> src/utils/time.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     return dt.timestamp();
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[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]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TradeDirection`
[INFO] [stdout] 4 | pub enum TradeDirection {
[INFO] [stdout]   |          -------------- `TradeDirection` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead
[INFO] [stdout]  --> src/utils/time.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     return NaiveDateTime::from_timestamp_millis(time).unwrap();
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead
[INFO] [stdout]  --> src/utils/time.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     return dt.timestamp();
[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: `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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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: 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: unused variable: `sum`
[INFO] [stdout]   --> src/tests/integration/a_test.rs:63:17
[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: 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)]` (part of `#[warn(unused)]`) 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[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]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TradeDirection`
[INFO] [stdout] 4 | pub enum TradeDirection {
[INFO] [stdout]   |          -------------- `TradeDirection` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 28s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: polars-plan v0.27.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "7145c8124d17d8d5fd5ad2ad835f9bc132add8fa3271c5edbf0c90a111648958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7145c8124d17d8d5fd5ad2ad835f9bc132add8fa3271c5edbf0c90a111648958", kill_on_drop: false }`
[INFO] [stdout] 7145c8124d17d8d5fd5ad2ad835f9bc132add8fa3271c5edbf0c90a111648958
