[INFO] fetching crate nersent_pace 0.6.22... [INFO] checking nersent_pace-0.6.22 against master#38352b01ae4af9300be03b805d6db68c45e51068 for pr-129864 [INFO] extracting crate nersent_pace 0.6.22 into /workspace/builds/worker-6-tc1/source [INFO] validating manifest of crates.io crate nersent_pace 0.6.22 on toolchain 38352b01ae4af9300be03b805d6db68c45e51068 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate nersent_pace 0.6.22 [INFO] finished tweaking crates.io crate nersent_pace 0.6.22 [INFO] tweaked toml for crates.io crate nersent_pace 0.6.22 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 282 packages to latest compatible versions [INFO] [stderr] Adding arrow2 v0.16.0 (available: v0.18.0) [INFO] [stderr] Adding base64 v0.13.1 (available: v0.22.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding brotli v3.5.0 (available: v6.0.0) [INFO] [stderr] Adding brotli-decompressor v2.5.1 (available: v4.0.1) [INFO] [stderr] Adding comfy-table v6.2.0 (available: v7.1.1) [INFO] [stderr] Adding core-foundation v0.9.4 (available: v0.10.0) [INFO] [stderr] Adding core-graphics v0.23.2 (available: v0.24.0) [INFO] [stderr] Adding core-graphics-types v0.1.3 (available: v0.2.0) [INFO] [stderr] Adding core-text v20.1.0 (available: v21.0.0) [INFO] [stderr] Adding crossterm v0.26.1 (available: v0.28.1) [INFO] [stderr] Adding dirs v4.0.0 (available: v5.0.1) [INFO] [stderr] Adding dirs-sys v0.3.7 (available: v0.4.1) [INFO] [stderr] Adding encode_unicode v0.3.6 (available: v1.0.0) [INFO] [stderr] Adding freetype-sys v0.20.1 (available: v0.22.1) [INFO] [stderr] Adding gif v0.12.0 (available: v0.13.1) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding hashbrown v0.13.2 (available: v0.14.5) [INFO] [stderr] Adding heck v0.4.1 (available: v0.5.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding image v0.24.9 (available: v0.25.2) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding io-lifetimes v1.0.11 (available: v2.0.3) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding kdam v0.3.0 (available: v0.5.2) [INFO] [stderr] Adding lexical v6.1.1 (available: v7.0.2) [INFO] [stderr] Adding lexical-core v0.8.5 (available: v1.0.2) [INFO] [stderr] Adding lexical-parse-float v0.8.5 (available: v1.0.2) [INFO] [stderr] Adding lexical-parse-integer v0.8.6 (available: v1.0.2) [INFO] [stderr] Adding lexical-util v0.8.5 (available: v1.0.3) [INFO] [stderr] Adding lexical-write-float v0.8.5 (available: v1.0.2) [INFO] [stderr] Adding lexical-write-integer v0.8.5 (available: v1.0.2) [INFO] [stderr] Adding linux-raw-sys v0.3.8 (available: v0.6.5) [INFO] [stderr] Adding memmap2 v0.5.10 (available: v0.9.5) [INFO] [stderr] Adding miniz_oxide v0.7.4 (available: v0.8.0) [INFO] [stderr] Adding mio v0.8.11 (available: v1.0.2) [INFO] [stderr] Adding multiversion v0.6.1 (available: v0.7.4) [INFO] [stderr] Adding multiversion-macros v0.6.1 (available: v0.7.4) [INFO] [stderr] Adding ndarray v0.15.6 (available: v0.16.1) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding parking_lot v0.11.2 (available: v0.12.3) [INFO] [stderr] Adding parking_lot_core v0.8.6 (available: v0.9.10) [INFO] [stderr] Adding planus v0.3.1 (available: v0.4.0) [INFO] [stderr] Adding polars v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-arrow v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-core v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-io v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-lazy v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-ops v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-pipe v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-plan v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-time v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding polars-utils v0.27.2 (available: v0.43.1) [INFO] [stderr] Adding redox_syscall v0.2.16 (available: v0.5.6) [INFO] [stderr] Adding rustix v0.37.27 (available: v0.38.37) [INFO] [stderr] Adding strum v0.24.1 (available: v0.26.3) [INFO] [stderr] Adding strum_macros v0.24.3 (available: v0.26.4) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding sysinfo v0.27.8 (available: v0.31.4) [INFO] [stderr] Adding term v0.7.0 (available: v1.0.0) [INFO] [stderr] Adding terminal_size v0.2.6 (available: v0.4.0) [INFO] [stderr] Adding ttf-parser v0.20.0 (available: v0.24.1) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows-sys v0.48.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding windows-targets v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding zstd v0.11.2+zstd.1.5.2 (available: v0.13.2) [INFO] [stderr] Adding zstd v0.12.4 (available: v0.13.2) [INFO] [stderr] Adding zstd-safe v5.0.2+zstd.1.5.2 (available: v7.2.1) [INFO] [stderr] Adding zstd-safe v6.0.6 (available: v7.2.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded polars-utils v0.27.2 [INFO] [stderr] Downloaded yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Downloaded float-ord v0.3.2 [INFO] [stderr] Downloaded mimalloc v0.1.43 [INFO] [stderr] Downloaded polars v0.27.2 [INFO] [stderr] Downloaded pathfinder_geometry v0.5.1 [INFO] [stderr] Downloaded pathfinder_simd v0.5.4 [INFO] [stderr] Downloaded kdam v0.3.0 [INFO] [stderr] Downloaded font-kit v0.14.2 [INFO] [stderr] Downloaded comfy-table v6.2.0 [INFO] [stderr] Downloaded polars-lazy v0.27.2 [INFO] [stderr] Downloaded polars-io v0.27.2 [INFO] [stderr] Downloaded textplots v0.8.6 [INFO] [stderr] Downloaded polars-plan v0.27.2 [INFO] [stderr] Downloaded libmimalloc-sys v0.1.39 [INFO] [stderr] Downloaded sysinfo v0.27.8 [INFO] [stderr] Downloaded parquet-format-safe v0.2.4 [INFO] [stderr] Downloaded polars-arrow v0.27.2 [INFO] [stderr] Downloaded polars-pipe v0.27.2 [INFO] [stderr] Downloaded streaming-decompression v0.1.2 [INFO] [stderr] Downloaded polars-ops v0.27.2 [INFO] [stderr] Downloaded polars-core v0.27.2 [INFO] [stderr] Downloaded polars-time v0.27.2 [INFO] [stderr] Downloaded plotters-bitmap v0.3.7 [INFO] [stderr] Downloaded multiversion-macros v0.6.1 [INFO] [stderr] Downloaded multiversion v0.6.1 [INFO] [stderr] Downloaded streaming-iterator v0.1.9 [INFO] [stderr] Downloaded parquet2 v0.17.2 [INFO] [stderr] Downloaded drawille v0.3.0 [INFO] [stderr] Downloaded arrow2 v0.16.0 [INFO] [stderr] Downloaded brotli v3.5.0 [INFO] [stderr] Downloaded freetype-sys v0.20.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 78fab571c3dfebd6dd013827d533d948b42f7fdfb4f118c3eb5c9567cda0918f [INFO] running `Command { std: "docker" "start" "-a" "78fab571c3dfebd6dd013827d533d948b42f7fdfb4f118c3eb5c9567cda0918f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "78fab571c3dfebd6dd013827d533d948b42f7fdfb4f118c3eb5c9567cda0918f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78fab571c3dfebd6dd013827d533d948b42f7fdfb4f118c3eb5c9567cda0918f", kill_on_drop: false }` [INFO] [stdout] 78fab571c3dfebd6dd013827d533d948b42f7fdfb4f118c3eb5c9567cda0918f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dcede76b17b4449d4e04eeee3f3d1c89a2b2b8ca16df01285a528adc70aceda0 [INFO] running `Command { std: "docker" "start" "-a" "dcede76b17b4449d4e04eeee3f3d1c89a2b2b8ca16df01285a528adc70aceda0", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling bytemuck_derive v1.7.1 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Checking lexical-util v0.8.5 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling snap v1.1.1 [INFO] [stderr] Checking brotli-decompressor v2.5.1 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking lexical-parse-integer v0.8.6 [INFO] [stderr] Checking lexical-write-integer v0.8.5 [INFO] [stderr] Checking flate2 v1.0.33 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Checking lexical-parse-float v0.8.5 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking lexical-write-float v0.8.5 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking array-init-cursor v0.2.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking planus v0.3.1 [INFO] [stderr] Checking streaming-decompression v0.1.2 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling seq-macro v0.3.5 [INFO] [stderr] Compiling arrow2 v0.16.0 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking arrow-format v0.8.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling smartstring v1.0.1 [INFO] [stderr] Checking lexical-core v0.8.5 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Checking foreign_vec v0.1.0 [INFO] [stderr] Checking hash_hasher v2.0.3 [INFO] [stderr] Checking ethnum v1.5.0 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Checking dyn-clone v1.0.17 [INFO] [stderr] Checking simdutf8 v0.1.5 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking streaming-iterator v0.1.9 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking xxhash-rust v0.8.12 [INFO] [stderr] Checking lexical v6.1.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking brotli v3.5.0 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling pathfinder_simd v0.5.4 [INFO] [stderr] Compiling yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking fdeflate v0.3.5 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking sysinfo v0.27.8 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking dirs v4.0.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Compiling rustix v0.37.27 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Compiling enum_dispatch v0.3.13 [INFO] [stderr] Checking now v0.1.3 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Compiling font-kit v0.14.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking linux-raw-sys v0.3.8 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking pathfinder_geometry v0.5.1 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking parquet-format-safe v0.2.4 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Compiling polars v0.27.2 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Checking float-ord v0.3.2 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking drawille v0.3.0 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking term v0.7.0 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking rgb v0.8.50 [INFO] [stderr] Checking ttf-parser v0.20.0 [INFO] [stderr] Checking encode_unicode v1.0.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Checking similar-asserts v1.6.0 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Compiling lz4-sys v1.11.0 [INFO] [stderr] Compiling freetype-sys v0.20.1 [INFO] [stderr] Compiling libmimalloc-sys v0.1.39 [INFO] [stderr] Checking textplots v0.8.6 [INFO] [stderr] Checking prettytable-rs v0.10.0 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking polars-utils v0.27.2 [INFO] [stderr] Compiling multiversion-macros v0.6.1 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Checking terminal_size v0.2.6 [INFO] [stderr] Checking plotters-bitmap v0.3.7 [INFO] [stderr] Checking mimalloc v0.1.43 [INFO] [stderr] Checking kdam v0.3.0 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking multiversion v0.6.1 [INFO] [stderr] Checking comfy-table v6.2.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking zstd v0.12.4 [INFO] [stderr] Checking zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Checking lz4 v1.27.0 [INFO] [stderr] Checking parquet2 v0.17.2 [INFO] [stderr] Checking polars-arrow v0.27.2 [INFO] [stderr] Checking polars-core v0.27.2 [INFO] [stderr] Checking polars-ops v0.27.2 [INFO] [stderr] Checking polars-time v0.27.2 [INFO] [stderr] Checking polars-io v0.27.2 [INFO] [stderr] Checking polars-plan v0.27.2 [INFO] [stderr] Checking polars-pipe v0.27.2 [INFO] [stderr] Checking polars-lazy v0.27.2 [INFO] [stderr] Checking nersent_pace v0.6.22 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `TradeDirection` [INFO] [stdout] --> src/content/aroon.rs:7:39 [INFO] [stdout] | [INFO] [stdout] 7 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, 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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/content/relative_vigor_index.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | fn default(ctx: Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_tick` [INFO] [stdout] --> src/content/vortex.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let current_tick = self.ctx.bar.index(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pinescript/pinescript_exporter.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mut offset: i32 = -1; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/strategy/metrics/cobra_metrics.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut cell = Cell::new(text) [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/equity_metrics.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f_raw` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let f_raw = |value: f64| format!("{:0.2}", value); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:336:21 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qty` [INFO] [stdout] --> src/strategy/strategy.rs:204:54 [INFO] [stdout] | [INFO] [stdout] 204 | if let StrategySignal::Sized(qty) = self.unfilled_signal { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_qty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `up_trend_confirmation` and `down_trend_confirmation` are never read [INFO] [stdout] --> src/content/aroon.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct AroonStrategy { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 81 | up_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | down_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: 90 warnings emitted [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/content/relative_vigor_index.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | fn default(ctx: Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_tick` [INFO] [stdout] --> src/content/vortex.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let current_tick = self.ctx.bar.index(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/content/tests/macd_test.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | let (macd, signal) = target.next(()); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pinescript/pinescript_exporter.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mut offset: i32 = -1; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/strategy/metrics/cobra_metrics.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut cell = Cell::new(text) [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/equity_metrics.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f_raw` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let f_raw = |value: f64| format!("{:0.2}", value); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:336:21 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qty` [INFO] [stdout] --> src/strategy/strategy.rs:204:54 [INFO] [stdout] | [INFO] [stdout] 204 | if let StrategySignal::Sized(qty) = self.unfilled_signal { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_qty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 142 | let output = target.next(signal); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_capital` [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:10938:17 [INFO] [stdout] | [INFO] [stdout] 10938 | let initial_capital = self.strategy.config.initial_capital; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_capital` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/tests/integration/a_test.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let mut sum = 0.0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `speedin` [INFO] [stdout] --> src/tests/integration/a_test.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | fn _test(ctx: Context, mut src: AnySrc, per: usize, speedin: usize, expected: &[f64]) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speedin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests/integration/a_test.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | let mut sum = 0.0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `up_trend_confirmation` and `down_trend_confirmation` are never read [INFO] [stdout] --> src/content/aroon.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct AroonStrategy { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 81 | up_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | down_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `max_run_up_percent` is never read [INFO] [stdout] --> src/strategy/metrics/tests/strategy_metrics_test.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 76 | struct TestUtilityMetrics { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 85 | pub max_run_up_percent: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestUtilityMetrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_path` is never used [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | fn format_path(path: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestExecutionTarget` is never constructed [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:10892:12 [INFO] [stdout] | [INFO] [stdout] 10892 | struct TestExecutionTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `next` are never used [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:10902:16 [INFO] [stdout] | [INFO] [stdout] 10901 | impl TestExecutionTarget { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 10902 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10921 | pub fn next(&mut self) -> TestExecutionPayload { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_path` is never used [INFO] [stdout] --> src/ta/tests/relative_strength_index_test.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | fn format_path(path: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: 167 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "dcede76b17b4449d4e04eeee3f3d1c89a2b2b8ca16df01285a528adc70aceda0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dcede76b17b4449d4e04eeee3f3d1c89a2b2b8ca16df01285a528adc70aceda0", kill_on_drop: false }` [INFO] [stdout] dcede76b17b4449d4e04eeee3f3d1c89a2b2b8ca16df01285a528adc70aceda0