[INFO] cloning repository https://github.com/a1mart/yeast [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/a1mart/yeast" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fa1mart%2Fyeast", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fa1mart%2Fyeast'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7db3d274c6b41d81281241a9b05becf04c9f5043 [INFO] checking a1mart/yeast against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fa1mart%2Fyeast" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/a1mart/yeast [INFO] finished tweaking git repo https://github.com/a1mart/yeast [INFO] tweaked toml for git repo https://github.com/a1mart/yeast written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/a1mart/yeast on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/a1mart/yeast already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"` [INFO] [stderr] | [INFO] [stderr] = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest [INFO] [stderr] = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded publicsuffix v2.3.0 [INFO] [stderr] Downloaded tempfile v3.21.0 [INFO] [stderr] Downloaded deranged v0.5.3 [INFO] [stderr] Downloaded bitflags v2.9.2 [INFO] [stderr] Downloaded url v2.5.6 [INFO] [stderr] Downloaded cc v1.2.33 [INFO] [stderr] Downloaded time v0.3.43 [INFO] [stderr] Downloaded webpki-roots v1.0.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b9996f171bdbe5a81ccb30554242109c996bd4f65b017842f57698c5b7c9691d [INFO] running `Command { std: "docker" "start" "-a" "b9996f171bdbe5a81ccb30554242109c996bd4f65b017842f57698c5b7c9691d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b9996f171bdbe5a81ccb30554242109c996bd4f65b017842f57698c5b7c9691d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9996f171bdbe5a81ccb30554242109c996bd4f65b017842f57698c5b7c9691d", kill_on_drop: false }` [INFO] [stdout] b9996f171bdbe5a81ccb30554242109c996bd4f65b017842f57698c5b7c9691d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d2ca16cbbc0ffb2125ea32131491547f11cf0ffc869e6e6d25896bb5537eec3 [INFO] running `Command { std: "docker" "start" "-a" "2d2ca16cbbc0ffb2125ea32131491547f11cf0ffc869e6e6d25896bb5537eec3", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"` [INFO] [stderr] | [INFO] [stderr] = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest [INFO] [stderr] = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Checking bitflags v2.9.2 [INFO] [stderr] Checking deranged v0.5.3 [INFO] [stderr] Compiling cookie v0.17.0 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.100 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Checking psl-types v2.0.11 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking idna v0.3.0 [INFO] [stderr] Compiling rustls v0.23.31 [INFO] [stderr] Checking webpki-roots v1.0.2 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking webpki-roots v0.25.4 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking rustls-native-certs v0.6.3 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Compiling wasm-bindgen v0.2.100 [INFO] [stderr] Checking time v0.3.43 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling cc v1.2.33 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling aws-lc-sys v0.30.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.100 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.100 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.100 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking publicsuffix v2.3.0 [INFO] [stderr] Checking url v2.5.6 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking cookie_store v0.20.0 [INFO] [stderr] Checking stox-wasm v0.1.0 (/opt/rustwide/workdir/cr8s/stox-wasm) [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/vwap.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/obv.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/ichimoku.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/frama.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/chandelier_exit.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/trix.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/mfi.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/force_index.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/ease_of_movement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/accum_dist_line.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/price_volume_trend.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/volume_oscillator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/ultimate_oscillator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/detrended_price_oscillator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/roc.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/z_score.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/gmma.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/schaff_trend_cycle.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/fibonacci_retracement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/kalman_filter_smoother.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/heikin_ashi_slope.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/percent_b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ADX`, `ATR`, `BollingerBands`, `CCI`, `CMF`, `MACD`, `OBV`, `ParabolicSAR`, `Stochastic`, and `VWAP` [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | SMA, EMA, RSI, MACD, BollingerBands, VWAP, ATR, Stochastic, CCI, ADX, ParabolicSAR, OBV, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ [INFO] [stdout] 13 | CMF, WilliamsR, Ichimoku, Momentum, Tema, Dema, Kama, WMA, Hma, Frama, ChandelierExit, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/vwap.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/obv.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/ichimoku.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/frama.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/chandelier_exit.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/trix.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/mfi.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/force_index.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/ease_of_movement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/accum_dist_line.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/price_volume_trend.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/volume_oscillator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/ultimate_oscillator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/detrended_price_oscillator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/roc.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/z_score.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/gmma.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/schaff_trend_cycle.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/fibonacci_retracement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/kalman_filter_smoother.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/heikin_ashi_slope.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/percent_b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ADX`, `ATR`, `BollingerBands`, `CCI`, `CMF`, `MACD`, `OBV`, `ParabolicSAR`, `Stochastic`, and `VWAP` [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | SMA, EMA, RSI, MACD, BollingerBands, VWAP, ATR, Stochastic, CCI, ADX, ParabolicSAR, OBV, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ [INFO] [stdout] 13 | CMF, WilliamsR, Ichimoku, Momentum, Tema, Dema, Kama, WMA, Hma, Frama, ChandelierExit, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | JsValue::from_serde(&indicators).unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:84:40 [INFO] [stdout] | [INFO] [stdout] 84 | let candles: Vec = candles.into_serde().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:85:45 [INFO] [stdout] | [INFO] [stdout] 85 | let options: IndicatorOptions = options.into_serde().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | JsValue::from_serde(&result).unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:97:75 [INFO] [stdout] | [INFO] [stdout] 97 | let requests: Vec<(String, Vec, IndicatorOptions)> = requests.into_serde().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:104:14 [INFO] [stdout] | [INFO] [stdout] 104 | JsValue::from_serde(&results).unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sum` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/atr.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | let mut sum = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `plus_di_prev` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | let mut plus_di_prev = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `minus_di_prev` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:33:33 [INFO] [stdout] | [INFO] [stdout] 33 | let mut minus_di_prev = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dx_prev` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 34 | let mut dx_prev = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stdout] warning: struct `MACD` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/macd.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MACD; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/macd.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl MACD { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { MACD } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], short_period: usize, long_period: usize, signal_period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BollingerBands` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/bollinger_bands.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct BollingerBands; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/bollinger_bands.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl BollingerBands { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { BollingerBands } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize, std_dev: f64) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VWAP` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/vwap.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct VWAP; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/vwap.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl VWAP { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { VWAP } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ATR` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/atr.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ATR; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/atr.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ATR { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { ATR } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stochastic` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/stochastic.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Stochastic; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/stochastic.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Stochastic { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { Stochastic } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], k_period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CCI` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cci.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CCI; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cci.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CCI { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { CCI } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ADX` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ADX; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ADX { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { ADX } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParabolicSAR` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/parabolic_sar.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ParabolicSAR; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/parabolic_sar.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ParabolicSAR { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { ParabolicSAR } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], step: f64, max_af: f64) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OBV` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/obv.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct OBV; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/obv.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl OBV { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { OBV } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CMF` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cmf.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CMF; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cmf.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CMF { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { CMF } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | JsValue::from_serde(&indicators).unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:84:40 [INFO] [stdout] | [INFO] [stdout] 84 | let candles: Vec = candles.into_serde().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:85:45 [INFO] [stdout] | [INFO] [stdout] 85 | let options: IndicatorOptions = options.into_serde().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | JsValue::from_serde(&result).unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:97:75 [INFO] [stdout] | [INFO] [stdout] 97 | let requests: Vec<(String, Vec, IndicatorOptions)> = requests.into_serde().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> cr8s/stox-wasm/src/lib.rs:104:14 [INFO] [stdout] | [INFO] [stdout] 104 | JsValue::from_serde(&results).unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sum` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/atr.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | let mut sum = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `plus_di_prev` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | let mut plus_di_prev = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `minus_di_prev` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:33:33 [INFO] [stdout] | [INFO] [stdout] 33 | let mut minus_di_prev = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dx_prev` is never read [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 34 | let mut dx_prev = 0.0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MACD` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/macd.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MACD; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/macd.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl MACD { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { MACD } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], short_period: usize, long_period: usize, signal_period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BollingerBands` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/bollinger_bands.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct BollingerBands; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/bollinger_bands.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl BollingerBands { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { BollingerBands } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize, std_dev: f64) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VWAP` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/vwap.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct VWAP; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/vwap.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl VWAP { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { VWAP } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ATR` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/atr.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ATR; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/atr.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ATR { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { ATR } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stochastic` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/stochastic.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Stochastic; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/stochastic.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Stochastic { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { Stochastic } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], k_period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CCI` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cci.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CCI; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cci.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CCI { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { CCI } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ADX` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ADX; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/adx.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ADX { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { ADX } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParabolicSAR` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/parabolic_sar.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ParabolicSAR; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/parabolic_sar.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ParabolicSAR { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { ParabolicSAR } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], step: f64, max_af: f64) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OBV` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/obv.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct OBV; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/obv.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl OBV { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { OBV } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CMF` is never constructed [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cmf.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CMF; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> cr8s/stox-wasm/src/indicators/cmf.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CMF { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { CMF } [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | [INFO] [stdout] 9 | pub(crate) fn calculate(&self, candles: &[Candle], period: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Compiling aws-lc-rs v1.13.3 [INFO] [stderr] Checking rustls-webpki v0.103.4 [INFO] [stderr] Checking stox v0.1.0 (/opt/rustwide/workdir/cr8s/stox) [INFO] [stderr] Checking yeast v0.1.0 (/opt/rustwide/workdir/cr8s/yeast) [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> cr8s/stox/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemTime` [INFO] [stdout] --> cr8s/stox/src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH, Duration}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> cr8s/stox/src/ml_models.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KMeans` [INFO] [stdout] --> cr8s/stox/src/main.rs:16:49 [INFO] [stdout] | [INFO] [stdout] 16 | MLPipeline, LinearRegression, RandomForest, KMeans, ModelEvaluator, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Certificate` [INFO] [stdout] --> cr8s/stox/src/main.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | use rustls_native_certs::{load_native_certs, Certificate}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> cr8s/stox/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemTime` [INFO] [stdout] --> cr8s/stox/src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH, Duration}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> cr8s/stox/src/ml_models.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KMeans` [INFO] [stdout] --> cr8s/stox/src/main.rs:16:49 [INFO] [stdout] | [INFO] [stdout] 16 | MLPipeline, LinearRegression, RandomForest, KMeans, ModelEvaluator, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Certificate` [INFO] [stdout] --> cr8s/stox/src/main.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | use rustls_native_certs::{load_native_certs, Certificate}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::Candle` [INFO] [stdout] --> cr8s/yeast/src/api.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::types::Candle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OptionData` and `OptionGreeks` [INFO] [stdout] --> cr8s/yeast/src/api.rs:17:64 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::options_math::{black_scholes_greeks, calculate_pnl, OptionData, OptionType, OptionGreeks}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> cr8s/yeast/src/og.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemTime` [INFO] [stdout] --> cr8s/yeast/src/og.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH, Duration}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Certificate` [INFO] [stdout] --> cr8s/yeast/src/og.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | use rustls_native_certs::{load_native_certs, Certificate}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::Candle` [INFO] [stdout] --> cr8s/yeast/src/api.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::types::Candle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OptionData` and `OptionGreeks` [INFO] [stdout] --> cr8s/yeast/src/api.rs:17:64 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::options_math::{black_scholes_greeks, calculate_pnl, OptionData, OptionType, OptionGreeks}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> cr8s/yeast/src/og.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemTime` [INFO] [stdout] --> cr8s/yeast/src/og.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH, Duration}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Certificate` [INFO] [stdout] --> cr8s/yeast/src/og.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | use rustls_native_certs::{load_native_certs, Certificate}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prices` [INFO] [stdout] --> cr8s/stox/src/indicators/tema.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let prices: Vec = candles.iter().map(|c| c.close).collect(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fib_levels` [INFO] [stdout] --> cr8s/stox/src/indicators/fibonacci_retracement.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let fib_levels = [0.0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fib_levels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prices` [INFO] [stdout] --> cr8s/stox/src/indicators/tema.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let prices: Vec = candles.iter().map(|c| c.close).collect(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fib_levels` [INFO] [stdout] --> cr8s/stox/src/indicators/fibonacci_retracement.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let fib_levels = [0.0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fib_levels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> cr8s/stox/src/main.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | let header = lines.next(); // ignore header [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> cr8s/stox/src/main.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | let header = lines.next(); // ignore header [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `train_features` [INFO] [stdout] --> cr8s/stox/src/main.rs:634:14 [INFO] [stdout] | [INFO] [stdout] 634 | let (train_features, test_features) = features.split_at(split_idx); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_train_features` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncFetcher` is never constructed [INFO] [stdout] --> cr8s/stox/src/main.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct SyncFetcher; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_yahoo_chart_for_ticker` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 100 | impl SyncFetcher { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 101 | fn fetch_yahoo_chart_for_ticker(ticker: &str, opts: &ChartQueryOptions) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_nasdaq_symbols_csv` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:266:10 [INFO] [stdout] | [INFO] [stdout] 266 | async fn fetch_nasdaq_symbols_csv() -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncOptionsFetcher` is never constructed [INFO] [stdout] --> cr8s/stox/src/main.rs:406:8 [INFO] [stdout] | [INFO] [stdout] 406 | struct SyncOptionsFetcher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_options_for_ticker` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:409:8 [INFO] [stdout] | [INFO] [stdout] 408 | impl SyncOptionsFetcher { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 409 | fn fetch_options_for_ticker(ticker: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:481:4 [INFO] [stdout] | [INFO] [stdout] 481 | fn print_opc_option_chain(data: OptionProfitCalculatorResponse) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_to_option_data` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:505:4 [INFO] [stdout] | [INFO] [stdout] 505 | fn convert_to_option_data( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain_with_greeks` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:521:4 [INFO] [stdout] | [INFO] [stdout] 521 | fn print_opc_option_chain_with_greeks(data: OptionProfitCalculatorResponse, underlying_price: f64, time_to_expiry: f64, risk_free_rate: f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_chart_response` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:1291:4 [INFO] [stdout] | [INFO] [stdout] 1291 | fn print_chart_response(chart_response: ChartResponse, runner: &IndicatorRunner) -> Option<(String, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_ml_analysis` is never used [INFO] [stdout] --> cr8s/stox/src/ml_models.rs:806:8 [INFO] [stdout] | [INFO] [stdout] 806 | pub fn run_ml_analysis( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `k` is never read [INFO] [stdout] --> cr8s/stox/src/indicators/bollinger_bands.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct BollingerBands { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 5 | pub period: usize, [INFO] [stdout] 6 | pub k: f64, // number of std devs [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `d_period` is never read [INFO] [stdout] --> cr8s/stox/src/indicators/stochastic.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Stochastic { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub k_period: usize, [INFO] [stdout] 8 | pub d_period: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `base_period`, `leading_span_b_period`, and `displacement` are never read [INFO] [stdout] --> cr8s/stox/src/indicators/ichimoku.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Ichimoku { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 7 | pub conversion_period: usize, // usually 9 [INFO] [stdout] 8 | pub base_period: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub leading_span_b_period: usize, // usually 52 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub displacement: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OptionType` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum OptionType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionGreeks` is never constructed [INFO] [stdout] --> cr8s/stox/src/options_math.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct OptionGreeks { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `norm_pdf` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn norm_pdf(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `norm_cdf` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn norm_cdf(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `black_scholes_greeks` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn black_scholes_greeks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_greeks_parallel` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn compute_greeks_parallel( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_pnl` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn calculate_pnl(position_size: f64, old_price: f64, new_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionData` is never constructed [INFO] [stdout] --> cr8s/stox/src/options_math.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | pub struct OptionData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn connect(domain: &'static str, port: u16) -> Result, String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | pub exchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fullExchangeName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | pub fullExchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `full_exchange_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `instrumentType` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | pub instrumentType: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instrument_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `firstTradeDate` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | pub firstTradeDate: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_trade_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketTime` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | pub regularMarketTime: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasPrePostMarketData` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | pub hasPrePostMarketData: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `has_pre_post_market_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeTimezoneName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | pub exchangeTimezoneName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_timezone_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketPrice` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | pub regularMarketPrice: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_price` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekHigh` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | pub fiftyTwoWeekHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekLow` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | pub fiftyTwoWeekLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayHigh` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | pub regularMarketDayHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayLow` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | pub regularMarketDayLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketVolume` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | pub regularMarketVolume: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_volume` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `longName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | pub longName: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `long_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `shortName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | pub shortName: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `short_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chartPreviousClose` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | pub chartPreviousClose: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chart_previous_close` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `priceHint` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | pub priceHint: u8, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `price_hint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `currentTradingPeriod` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub currentTradingPeriod: TradingPeriodWrapper, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_trading_period` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `dataGranularity` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | pub dataGranularity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `data_granularity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `validRanges` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | pub validRanges: Vec, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `valid_ranges` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `train_features` [INFO] [stdout] --> cr8s/stox/src/main.rs:634:14 [INFO] [stdout] | [INFO] [stdout] 634 | let (train_features, test_features) = features.split_at(split_idx); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_train_features` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncFetcher` is never constructed [INFO] [stdout] --> cr8s/stox/src/main.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct SyncFetcher; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_yahoo_chart_for_ticker` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 100 | impl SyncFetcher { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 101 | fn fetch_yahoo_chart_for_ticker(ticker: &str, opts: &ChartQueryOptions) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_nasdaq_symbols_csv` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:266:10 [INFO] [stdout] | [INFO] [stdout] 266 | async fn fetch_nasdaq_symbols_csv() -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncOptionsFetcher` is never constructed [INFO] [stdout] --> cr8s/stox/src/main.rs:406:8 [INFO] [stdout] | [INFO] [stdout] 406 | struct SyncOptionsFetcher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_options_for_ticker` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:409:8 [INFO] [stdout] | [INFO] [stdout] 408 | impl SyncOptionsFetcher { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 409 | fn fetch_options_for_ticker(ticker: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:481:4 [INFO] [stdout] | [INFO] [stdout] 481 | fn print_opc_option_chain(data: OptionProfitCalculatorResponse) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_to_option_data` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:505:4 [INFO] [stdout] | [INFO] [stdout] 505 | fn convert_to_option_data( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain_with_greeks` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:521:4 [INFO] [stdout] | [INFO] [stdout] 521 | fn print_opc_option_chain_with_greeks(data: OptionProfitCalculatorResponse, underlying_price: f64, time_to_expiry: f64, risk_free_rate: f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_chart_response` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:1291:4 [INFO] [stdout] | [INFO] [stdout] 1291 | fn print_chart_response(chart_response: ChartResponse, runner: &IndicatorRunner) -> Option<(String, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_ml_analysis` is never used [INFO] [stdout] --> cr8s/stox/src/ml_models.rs:806:8 [INFO] [stdout] | [INFO] [stdout] 806 | pub fn run_ml_analysis( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `k` is never read [INFO] [stdout] --> cr8s/stox/src/indicators/bollinger_bands.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct BollingerBands { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 5 | pub period: usize, [INFO] [stdout] 6 | pub k: f64, // number of std devs [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `d_period` is never read [INFO] [stdout] --> cr8s/stox/src/indicators/stochastic.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Stochastic { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub k_period: usize, [INFO] [stdout] 8 | pub d_period: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `base_period`, `leading_span_b_period`, and `displacement` are never read [INFO] [stdout] --> cr8s/stox/src/indicators/ichimoku.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Ichimoku { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 7 | pub conversion_period: usize, // usually 9 [INFO] [stdout] 8 | pub base_period: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub leading_span_b_period: usize, // usually 52 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub displacement: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OptionType` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum OptionType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionGreeks` is never constructed [INFO] [stdout] --> cr8s/stox/src/options_math.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct OptionGreeks { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `norm_pdf` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn norm_pdf(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `norm_cdf` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn norm_cdf(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `black_scholes_greeks` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn black_scholes_greeks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_greeks_parallel` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn compute_greeks_parallel( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_pnl` is never used [INFO] [stdout] --> cr8s/stox/src/options_math.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn calculate_pnl(position_size: f64, old_price: f64, new_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionData` is never constructed [INFO] [stdout] --> cr8s/stox/src/options_math.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | pub struct OptionData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect` is never used [INFO] [stdout] --> cr8s/stox/src/main.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn connect(domain: &'static str, port: u16) -> Result, String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | pub exchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fullExchangeName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | pub fullExchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `full_exchange_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `instrumentType` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | pub instrumentType: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instrument_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `firstTradeDate` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | pub firstTradeDate: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_trade_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketTime` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | pub regularMarketTime: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasPrePostMarketData` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | pub hasPrePostMarketData: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `has_pre_post_market_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeTimezoneName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | pub exchangeTimezoneName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_timezone_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketPrice` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | pub regularMarketPrice: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_price` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekHigh` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | pub fiftyTwoWeekHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekLow` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | pub fiftyTwoWeekLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayHigh` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | pub regularMarketDayHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayLow` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | pub regularMarketDayLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketVolume` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | pub regularMarketVolume: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_volume` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `longName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | pub longName: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `long_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `shortName` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | pub shortName: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `short_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chartPreviousClose` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | pub chartPreviousClose: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chart_previous_close` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `priceHint` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | pub priceHint: u8, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `price_hint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `currentTradingPeriod` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub currentTradingPeriod: TradingPeriodWrapper, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_trading_period` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `dataGranularity` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | pub dataGranularity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `data_granularity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `validRanges` should have a snake case name [INFO] [stdout] --> cr8s/stox/src/main.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | pub validRanges: Vec, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `valid_ranges` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TimeZone` [INFO] [stdout] --> cr8s/yeast/src/api.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{DateTime, Utc, TimeZone}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TimeZone` [INFO] [stdout] --> cr8s/yeast/src/api.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{DateTime, Utc, TimeZone}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prices` [INFO] [stdout] --> cr8s/yeast/src/indicators/tema.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let prices: Vec = candles.iter().map(|c| c.close).collect(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fib_levels` [INFO] [stdout] --> cr8s/yeast/src/indicators/fibonacci_retracement.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let fib_levels = [0.0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fib_levels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prices` [INFO] [stdout] --> cr8s/yeast/src/indicators/tema.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let prices: Vec = candles.iter().map(|c| c.close).collect(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fib_levels` [INFO] [stdout] --> cr8s/yeast/src/indicators/fibonacci_retracement.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let fib_levels = [0.0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fib_levels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sort_by` [INFO] [stdout] --> cr8s/yeast/src/api.rs:1193:67 [INFO] [stdout] | [INFO] [stdout] 1193 | ...filters: &[ScreenerFilter], sort_by: Option<&str>, sort_order: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sort_by` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sort_order` [INFO] [stdout] --> cr8s/yeast/src/api.rs:1193:90 [INFO] [stdout] | [INFO] [stdout] 1193 | ..., sort_by: Option<&str>, sort_order: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sort_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json` [INFO] [stdout] --> cr8s/yeast/src/api.rs:1626:38 [INFO] [stdout] | [INFO] [stdout] 1626 | fn parse_analysis_reports(&self, json: serde_json::Value) -> AnalysisReports { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_json` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latest_candle` [INFO] [stdout] --> cr8s/yeast/src/api.rs:2025:13 [INFO] [stdout] | [INFO] [stdout] 2025 | let latest_candle = candles.last() [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latest_candle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sort_by` [INFO] [stdout] --> cr8s/yeast/src/api.rs:1193:67 [INFO] [stdout] | [INFO] [stdout] 1193 | ...filters: &[ScreenerFilter], sort_by: Option<&str>, sort_order: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sort_by` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sort_order` [INFO] [stdout] --> cr8s/yeast/src/api.rs:1193:90 [INFO] [stdout] | [INFO] [stdout] 1193 | ..., sort_by: Option<&str>, sort_order: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sort_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json` [INFO] [stdout] --> cr8s/yeast/src/api.rs:1626:38 [INFO] [stdout] | [INFO] [stdout] 1626 | fn parse_analysis_reports(&self, json: serde_json::Value) -> AnalysisReports { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_json` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latest_candle` [INFO] [stdout] --> cr8s/yeast/src/api.rs:2025:13 [INFO] [stdout] | [INFO] [stdout] 2025 | let latest_candle = candles.last() [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latest_candle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> cr8s/yeast/src/og.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | let header = lines.next(); // ignore header [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> cr8s/yeast/src/og.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | let header = lines.next(); // ignore header [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> cr8s/yeast/src/indicators/mod.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub trait TechnicalIndicator: Sync { [INFO] [stdout] | ------------------ method in this trait [INFO] [stdout] 91 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `k` is never read [INFO] [stdout] --> cr8s/yeast/src/indicators/bollinger_bands.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct BollingerBands { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 5 | pub period: usize, [INFO] [stdout] 6 | pub k: f64, // number of std devs [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `d_period` is never read [INFO] [stdout] --> cr8s/yeast/src/indicators/stochastic.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Stochastic { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub k_period: usize, [INFO] [stdout] 8 | pub d_period: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `base_period`, `leading_span_b_period`, and `displacement` are never read [INFO] [stdout] --> cr8s/yeast/src/indicators/ichimoku.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Ichimoku { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 7 | pub conversion_period: usize, // usually 9 [INFO] [stdout] 8 | pub base_period: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub leading_span_b_period: usize, // usually 52 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub displacement: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Momentum` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/momentum.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Momentum { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tema` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/tema.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Tema { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dema` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/dema.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Dema { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kama` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/kama.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Kama { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hma` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/hma.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Hma { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Frama` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/frama.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Frama { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChandelierExit` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/chandelier_exit.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ChandelierExit { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TRIX` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/trix.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TRIX { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MFI` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/mfi.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct MFI { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ForceIndex` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/force_index.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ForceIndex { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EaseOfMovement` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/ease_of_movement.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct EaseOfMovement { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccumDistLine` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/accum_dist_line.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AccumDistLine; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriceVolumeTrend` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/price_volume_trend.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PriceVolumeTrend; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VolumeOscillator` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/volume_oscillator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct VolumeOscillator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UltimateOscillator` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/ultimate_oscillator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct UltimateOscillator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DetrendedPriceOscillator` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/detrended_price_oscillator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct DetrendedPriceOscillator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateOfChange` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/roc.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct RateOfChange { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ZScore` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/z_score.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ZScore { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GMMA` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/gmma.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GMMA { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SchaffTrendCycle` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/schaff_trend_cycle.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SchaffTrendCycle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FibonacciRetracement` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/fibonacci_retracement.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FibonacciRetracement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KalmanFilterSmoother` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/kalman_filter_smoother.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct KalmanFilterSmoother { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HeikinAshiSlope` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/heikin_ashi_slope.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct HeikinAshiSlope { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PercentB` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/percent_b.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PercentB { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionData` is never constructed [INFO] [stdout] --> cr8s/yeast/src/options_math.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | pub struct OptionData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidTicker`, `InvalidDateRange`, and `CalculationError` are never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ApiError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 23 | InvalidTicker(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 24 | InvalidDateRange(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | CalculationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start_date`, `end_date`, and `indicators` are never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct HistoricalDataRequest { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 52 | pub start_date: Option, // YYYY-MM-DD format [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 53 | pub end_date: Option, // YYYY-MM-DD format [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 54 | pub include_indicators: Option, [INFO] [stdout] 55 | pub indicators: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HistoricalDataRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `params` are never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct IndicatorConfig { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 60 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 61 | pub params: Option>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndicatorConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expiration_dates` is never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct OptionsChainRequest { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 107 | pub ticker: String, [INFO] [stdout] 108 | pub expiration_dates: Option>, // YYYY-MM-DD format [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OptionsChainRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerRequest` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | pub struct ScreenerRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerFilter` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:224:12 [INFO] [stdout] | [INFO] [stdout] 224 | pub struct ScreenerFilter { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerResponse` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:233:12 [INFO] [stdout] | [INFO] [stdout] 233 | pub struct YahooScreenerResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerFinance` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct YahooScreenerFinance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerResult` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct YahooScreenerResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerQuote` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 255 | pub struct YahooScreenerQuote { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerResult` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:323:12 [INFO] [stdout] | [INFO] [stdout] 323 | pub struct ScreenerResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerResponse` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:337:12 [INFO] [stdout] | [INFO] [stdout] 337 | pub struct ScreenerResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fields` is never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 345 | pub struct QuoteRequest { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 346 | pub tickers: Vec, [INFO] [stdout] 347 | pub fields: Option>, // Specific fields to return [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuoteRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WatchlistRequest` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct WatchlistRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AlertConfig` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:384:12 [INFO] [stdout] | [INFO] [stdout] 384 | pub struct AlertConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WatchlistResponse` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:392:12 [INFO] [stdout] | [INFO] [stdout] 392 | pub struct WatchlistResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TriggeredAlert` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:399:12 [INFO] [stdout] | [INFO] [stdout] 399 | pub struct TriggeredAlert { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrumbCache` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:687:12 [INFO] [stdout] | [INFO] [stdout] 687 | pub struct CrumbCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_expired` is never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:693:12 [INFO] [stdout] | [INFO] [stdout] 692 | impl CrumbCache { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 693 | pub fn is_expired(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:721:18 [INFO] [stdout] | [INFO] [stdout] 703 | impl YahooFinanceClient { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 721 | pub async fn get_cached_crumb(&mut self, symbol: &str, cache: &AsyncRwLock>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 916 | pub async fn try_crumbless_request(&self, ticker: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1097 | pub async fn fetch_predefined_screener( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1136 | pub async fn fetch_custom_screener( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1193 | fn build_screener_criteria(&self, filters: &[ScreenerFilter], sort_by: Option<&str>, sort_order: Option<&str>) -> Result Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1312 | fn convert_yahoo_quote_to_screener_result( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `screen_stocks` and `sort_screener_results` are never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2120:18 [INFO] [stdout] | [INFO] [stdout] 1644 | impl StockDataApi { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2120 | pub async fn screen_stocks( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2191 | fn sort_screener_results( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ApiServer` is never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2307:11 [INFO] [stdout] | [INFO] [stdout] 2307 | pub trait ApiServer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimpleApiServer` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:2323:16 [INFO] [stdout] | [INFO] [stdout] 2323 | pub struct SimpleApiServer { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `start` are never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2328:16 [INFO] [stdout] | [INFO] [stdout] 2327 | impl SimpleApiServer { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 2328 | pub fn new(api: StockDataApi) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 2334 | pub fn start(&self, port: u16) -> Result<(), Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_connection` is never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2352:8 [INFO] [stdout] | [INFO] [stdout] 2352 | fn handle_connection(mut stream: TcpStream, _api: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fetch_sync` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub trait ChartFetcher { [INFO] [stdout] | ------------ method in this trait [INFO] [stdout] 92 | fn fetch_sync(&self, ticker: &str, opts: &ChartQueryOptions) -> Result>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncFetcher` is never constructed [INFO] [stdout] --> cr8s/yeast/src/og.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct SyncFetcher; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_yahoo_chart_for_ticker` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 100 | impl SyncFetcher { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 101 | fn fetch_yahoo_chart_for_ticker(ticker: &str, opts: &ChartQueryOptions) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `error` is never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct Chart { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 187 | pub result: Option>, [INFO] [stdout] 188 | pub error: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Chart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct Meta { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 203 | pub fullExchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 204 | pub instrumentType: String, [INFO] [stdout] 205 | pub firstTradeDate: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 206 | pub regularMarketTime: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 207 | pub hasPrePostMarketData: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | pub gmtoffset: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 209 | pub timezone: String, [INFO] [stdout] 210 | pub exchangeTimezoneName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub regularMarketDayHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 215 | pub regularMarketDayLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 216 | pub regularMarketVolume: u64, [INFO] [stdout] 217 | pub longName: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 218 | pub shortName: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 219 | pub chartPreviousClose: f64, [INFO] [stdout] 220 | pub priceHint: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 221 | pub currentTradingPeriod: TradingPeriodWrapper, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 222 | pub dataGranularity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 223 | pub range: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 224 | pub validRanges: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Meta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pre`, `regular`, and `post` are never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 228 | pub struct TradingPeriodWrapper { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 229 | pub pre: TradingPeriod, [INFO] [stdout] | ^^^ [INFO] [stdout] 230 | pub regular: TradingPeriod, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 231 | pub post: TradingPeriod, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TradingPeriodWrapper` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `timezone`, `end`, `start`, and `gmtoffset` are never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 235 | pub struct TradingPeriod { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 236 | pub timezone: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 237 | pub end: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 238 | pub start: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 239 | pub gmtoffset: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TradingPeriod` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `adjclose` is never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Indicators { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 244 | pub quote: Option>, [INFO] [stdout] 245 | pub adjclose: Option>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Indicators` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `adjclose` is never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 258 | pub struct AdjClose { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 259 | pub adjclose: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AdjClose` 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 `fetch_nasdaq_symbols_csv` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:266:10 [INFO] [stdout] | [INFO] [stdout] 266 | async fn fetch_nasdaq_symbols_csv() -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_indicators` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn build_indicators() -> Vec<(String, Arc)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fetch_sync` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 400 | pub trait OptionsFetcher { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] 401 | fn fetch_sync(&self, ticker: &str) -> Result>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncOptionsFetcher` is never constructed [INFO] [stdout] --> cr8s/yeast/src/og.rs:406:8 [INFO] [stdout] | [INFO] [stdout] 406 | struct SyncOptionsFetcher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_options_for_ticker` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:409:8 [INFO] [stdout] | [INFO] [stdout] 408 | impl SyncOptionsFetcher { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 409 | fn fetch_options_for_ticker(ticker: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:481:4 [INFO] [stdout] | [INFO] [stdout] 481 | fn print_opc_option_chain(data: OptionProfitCalculatorResponse) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_to_option_data` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:505:4 [INFO] [stdout] | [INFO] [stdout] 505 | fn convert_to_option_data( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain_with_greeks` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:521:4 [INFO] [stdout] | [INFO] [stdout] 521 | fn print_opc_option_chain_with_greeks(data: OptionProfitCalculatorResponse, underlying_price: f64, time_to_expiry: f64, risk_free_rate: f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MLAnalysisConfig` is never constructed [INFO] [stdout] --> cr8s/yeast/src/og.rs:567:12 [INFO] [stdout] | [INFO] [stdout] 567 | pub struct MLAnalysisConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_chart_response` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:1291:4 [INFO] [stdout] | [INFO] [stdout] 1291 | fn print_chart_response(chart_response: ChartResponse, runner: &IndicatorRunner) -> Option<(String, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn connect(domain: &'static str, port: u16) -> Result, String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | pub exchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fullExchangeName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | pub fullExchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `full_exchange_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `instrumentType` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | pub instrumentType: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instrument_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `firstTradeDate` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | pub firstTradeDate: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_trade_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketTime` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | pub regularMarketTime: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasPrePostMarketData` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | pub hasPrePostMarketData: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `has_pre_post_market_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeTimezoneName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | pub exchangeTimezoneName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_timezone_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketPrice` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | pub regularMarketPrice: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_price` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekHigh` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | pub fiftyTwoWeekHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekLow` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | pub fiftyTwoWeekLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayHigh` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | pub regularMarketDayHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayLow` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | pub regularMarketDayLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketVolume` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | pub regularMarketVolume: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_volume` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `longName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | pub longName: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `long_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `shortName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | pub shortName: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `short_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chartPreviousClose` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | pub chartPreviousClose: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chart_previous_close` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `priceHint` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | pub priceHint: u8, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `price_hint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `currentTradingPeriod` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub currentTradingPeriod: TradingPeriodWrapper, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_trading_period` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `dataGranularity` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | pub dataGranularity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `data_granularity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `validRanges` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | pub validRanges: Vec, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `valid_ranges` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> cr8s/yeast/src/indicators/mod.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub trait TechnicalIndicator: Sync { [INFO] [stdout] | ------------------ method in this trait [INFO] [stdout] 91 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `k` is never read [INFO] [stdout] --> cr8s/yeast/src/indicators/bollinger_bands.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct BollingerBands { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 5 | pub period: usize, [INFO] [stdout] 6 | pub k: f64, // number of std devs [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `d_period` is never read [INFO] [stdout] --> cr8s/yeast/src/indicators/stochastic.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Stochastic { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub k_period: usize, [INFO] [stdout] 8 | pub d_period: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `base_period`, `leading_span_b_period`, and `displacement` are never read [INFO] [stdout] --> cr8s/yeast/src/indicators/ichimoku.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Ichimoku { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 7 | pub conversion_period: usize, // usually 9 [INFO] [stdout] 8 | pub base_period: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub leading_span_b_period: usize, // usually 52 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub displacement: usize, // usually 26 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Momentum` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/momentum.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Momentum { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tema` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/tema.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Tema { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dema` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/dema.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Dema { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kama` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/kama.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Kama { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hma` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/hma.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Hma { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Frama` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/frama.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Frama { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChandelierExit` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/chandelier_exit.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ChandelierExit { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TRIX` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/trix.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TRIX { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MFI` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/mfi.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct MFI { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ForceIndex` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/force_index.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ForceIndex { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EaseOfMovement` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/ease_of_movement.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct EaseOfMovement { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccumDistLine` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/accum_dist_line.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AccumDistLine; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriceVolumeTrend` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/price_volume_trend.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PriceVolumeTrend; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VolumeOscillator` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/volume_oscillator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct VolumeOscillator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UltimateOscillator` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/ultimate_oscillator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct UltimateOscillator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DetrendedPriceOscillator` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/detrended_price_oscillator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct DetrendedPriceOscillator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateOfChange` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/roc.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct RateOfChange { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ZScore` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/z_score.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ZScore { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GMMA` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/gmma.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GMMA { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SchaffTrendCycle` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/schaff_trend_cycle.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SchaffTrendCycle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FibonacciRetracement` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/fibonacci_retracement.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FibonacciRetracement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KalmanFilterSmoother` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/kalman_filter_smoother.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct KalmanFilterSmoother { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HeikinAshiSlope` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/heikin_ashi_slope.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct HeikinAshiSlope { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PercentB` is never constructed [INFO] [stdout] --> cr8s/yeast/src/indicators/percent_b.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PercentB { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionData` is never constructed [INFO] [stdout] --> cr8s/yeast/src/options_math.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | pub struct OptionData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidTicker`, `InvalidDateRange`, and `CalculationError` are never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ApiError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 23 | InvalidTicker(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 24 | InvalidDateRange(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | CalculationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start_date`, `end_date`, and `indicators` are never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct HistoricalDataRequest { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 52 | pub start_date: Option, // YYYY-MM-DD format [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 53 | pub end_date: Option, // YYYY-MM-DD format [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 54 | pub include_indicators: Option, [INFO] [stdout] 55 | pub indicators: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HistoricalDataRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `params` are never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct IndicatorConfig { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 60 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 61 | pub params: Option>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndicatorConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expiration_dates` is never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct OptionsChainRequest { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 107 | pub ticker: String, [INFO] [stdout] 108 | pub expiration_dates: Option>, // YYYY-MM-DD format [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OptionsChainRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerRequest` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | pub struct ScreenerRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerFilter` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:224:12 [INFO] [stdout] | [INFO] [stdout] 224 | pub struct ScreenerFilter { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerResponse` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:233:12 [INFO] [stdout] | [INFO] [stdout] 233 | pub struct YahooScreenerResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerFinance` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct YahooScreenerFinance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerResult` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct YahooScreenerResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YahooScreenerQuote` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 255 | pub struct YahooScreenerQuote { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerResult` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:323:12 [INFO] [stdout] | [INFO] [stdout] 323 | pub struct ScreenerResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenerResponse` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:337:12 [INFO] [stdout] | [INFO] [stdout] 337 | pub struct ScreenerResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fields` is never read [INFO] [stdout] --> cr8s/yeast/src/api.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 345 | pub struct QuoteRequest { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 346 | pub tickers: Vec, [INFO] [stdout] 347 | pub fields: Option>, // Specific fields to return [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuoteRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WatchlistRequest` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct WatchlistRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AlertConfig` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:384:12 [INFO] [stdout] | [INFO] [stdout] 384 | pub struct AlertConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WatchlistResponse` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:392:12 [INFO] [stdout] | [INFO] [stdout] 392 | pub struct WatchlistResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TriggeredAlert` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:399:12 [INFO] [stdout] | [INFO] [stdout] 399 | pub struct TriggeredAlert { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrumbCache` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:687:12 [INFO] [stdout] | [INFO] [stdout] 687 | pub struct CrumbCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_expired` is never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:693:12 [INFO] [stdout] | [INFO] [stdout] 692 | impl CrumbCache { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 693 | pub fn is_expired(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:721:18 [INFO] [stdout] | [INFO] [stdout] 703 | impl YahooFinanceClient { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 721 | pub async fn get_cached_crumb(&mut self, symbol: &str, cache: &AsyncRwLock>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 916 | pub async fn try_crumbless_request(&self, ticker: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1097 | pub async fn fetch_predefined_screener( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1136 | pub async fn fetch_custom_screener( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1193 | fn build_screener_criteria(&self, filters: &[ScreenerFilter], sort_by: Option<&str>, sort_order: Option<&str>) -> Result Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1312 | fn convert_yahoo_quote_to_screener_result( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `screen_stocks` and `sort_screener_results` are never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2120:18 [INFO] [stdout] | [INFO] [stdout] 1644 | impl StockDataApi { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2120 | pub async fn screen_stocks( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2191 | fn sort_screener_results( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ApiServer` is never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2307:11 [INFO] [stdout] | [INFO] [stdout] 2307 | pub trait ApiServer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimpleApiServer` is never constructed [INFO] [stdout] --> cr8s/yeast/src/api.rs:2323:16 [INFO] [stdout] | [INFO] [stdout] 2323 | pub struct SimpleApiServer { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `start` are never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2328:16 [INFO] [stdout] | [INFO] [stdout] 2327 | impl SimpleApiServer { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 2328 | pub fn new(api: StockDataApi) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 2334 | pub fn start(&self, port: u16) -> Result<(), Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_connection` is never used [INFO] [stdout] --> cr8s/yeast/src/api.rs:2352:8 [INFO] [stdout] | [INFO] [stdout] 2352 | fn handle_connection(mut stream: TcpStream, _api: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fetch_sync` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub trait ChartFetcher { [INFO] [stdout] | ------------ method in this trait [INFO] [stdout] 92 | fn fetch_sync(&self, ticker: &str, opts: &ChartQueryOptions) -> Result>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncFetcher` is never constructed [INFO] [stdout] --> cr8s/yeast/src/og.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct SyncFetcher; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_yahoo_chart_for_ticker` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 100 | impl SyncFetcher { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 101 | fn fetch_yahoo_chart_for_ticker(ticker: &str, opts: &ChartQueryOptions) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `error` is never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct Chart { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 187 | pub result: Option>, [INFO] [stdout] 188 | pub error: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Chart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct Meta { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 203 | pub fullExchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 204 | pub instrumentType: String, [INFO] [stdout] 205 | pub firstTradeDate: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 206 | pub regularMarketTime: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 207 | pub hasPrePostMarketData: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | pub gmtoffset: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 209 | pub timezone: String, [INFO] [stdout] 210 | pub exchangeTimezoneName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub regularMarketDayHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 215 | pub regularMarketDayLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 216 | pub regularMarketVolume: u64, [INFO] [stdout] 217 | pub longName: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 218 | pub shortName: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 219 | pub chartPreviousClose: f64, [INFO] [stdout] 220 | pub priceHint: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 221 | pub currentTradingPeriod: TradingPeriodWrapper, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 222 | pub dataGranularity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 223 | pub range: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 224 | pub validRanges: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Meta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pre`, `regular`, and `post` are never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 228 | pub struct TradingPeriodWrapper { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 229 | pub pre: TradingPeriod, [INFO] [stdout] | ^^^ [INFO] [stdout] 230 | pub regular: TradingPeriod, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 231 | pub post: TradingPeriod, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TradingPeriodWrapper` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `timezone`, `end`, `start`, and `gmtoffset` are never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 235 | pub struct TradingPeriod { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 236 | pub timezone: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 237 | pub end: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 238 | pub start: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 239 | pub gmtoffset: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TradingPeriod` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `adjclose` is never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Indicators { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 244 | pub quote: Option>, [INFO] [stdout] 245 | pub adjclose: Option>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Indicators` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `adjclose` is never read [INFO] [stdout] --> cr8s/yeast/src/og.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 258 | pub struct AdjClose { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 259 | pub adjclose: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AdjClose` 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 `fetch_nasdaq_symbols_csv` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:266:10 [INFO] [stdout] | [INFO] [stdout] 266 | async fn fetch_nasdaq_symbols_csv() -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_indicators` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn build_indicators() -> Vec<(String, Arc)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fetch_sync` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 400 | pub trait OptionsFetcher { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] 401 | fn fetch_sync(&self, ticker: &str) -> Result>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncOptionsFetcher` is never constructed [INFO] [stdout] --> cr8s/yeast/src/og.rs:406:8 [INFO] [stdout] | [INFO] [stdout] 406 | struct SyncOptionsFetcher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `fetch_options_for_ticker` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:409:8 [INFO] [stdout] | [INFO] [stdout] 408 | impl SyncOptionsFetcher { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 409 | fn fetch_options_for_ticker(ticker: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:481:4 [INFO] [stdout] | [INFO] [stdout] 481 | fn print_opc_option_chain(data: OptionProfitCalculatorResponse) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_to_option_data` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:505:4 [INFO] [stdout] | [INFO] [stdout] 505 | fn convert_to_option_data( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_opc_option_chain_with_greeks` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:521:4 [INFO] [stdout] | [INFO] [stdout] 521 | fn print_opc_option_chain_with_greeks(data: OptionProfitCalculatorResponse, underlying_price: f64, time_to_expiry: f64, risk_free_rate: f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MLAnalysisConfig` is never constructed [INFO] [stdout] --> cr8s/yeast/src/og.rs:567:12 [INFO] [stdout] | [INFO] [stdout] 567 | pub struct MLAnalysisConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_chart_response` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:1291:4 [INFO] [stdout] | [INFO] [stdout] 1291 | fn print_chart_response(chart_response: ChartResponse, runner: &IndicatorRunner) -> Option<(String, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect` is never used [INFO] [stdout] --> cr8s/yeast/src/og.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn connect(domain: &'static str, port: u16) -> Result, String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | pub exchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fullExchangeName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | pub fullExchangeName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `full_exchange_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `instrumentType` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | pub instrumentType: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `instrument_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `firstTradeDate` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | pub firstTradeDate: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_trade_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketTime` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | pub regularMarketTime: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasPrePostMarketData` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | pub hasPrePostMarketData: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `has_pre_post_market_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `exchangeTimezoneName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | pub exchangeTimezoneName: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `exchange_timezone_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketPrice` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | pub regularMarketPrice: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_price` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekHigh` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | pub fiftyTwoWeekHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fiftyTwoWeekLow` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | pub fiftyTwoWeekLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fifty_two_week_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayHigh` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | pub regularMarketDayHigh: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketDayLow` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | pub regularMarketDayLow: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_day_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `regularMarketVolume` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | pub regularMarketVolume: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `regular_market_volume` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `longName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | pub longName: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `long_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `shortName` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | pub shortName: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `short_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chartPreviousClose` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | pub chartPreviousClose: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chart_previous_close` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `priceHint` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | pub priceHint: u8, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `price_hint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `currentTradingPeriod` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub currentTradingPeriod: TradingPeriodWrapper, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_trading_period` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `dataGranularity` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | pub dataGranularity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `data_granularity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `validRanges` should have a snake case name [INFO] [stdout] --> cr8s/yeast/src/og.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | pub validRanges: Vec, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `valid_ranges` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 06s [INFO] running `Command { std: "docker" "inspect" "2d2ca16cbbc0ffb2125ea32131491547f11cf0ffc869e6e6d25896bb5537eec3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d2ca16cbbc0ffb2125ea32131491547f11cf0ffc869e6e6d25896bb5537eec3", kill_on_drop: false }` [INFO] [stdout] 2d2ca16cbbc0ffb2125ea32131491547f11cf0ffc869e6e6d25896bb5537eec3