[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] 18b6d96ab4e2390c49a9bf49435ab37f4c29d22a
[INFO] building a1mart/yeast against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fa1mart%2Fyeast" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/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-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/a1mart/yeast on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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] 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 prettyplease v0.2.37
[INFO] [stderr]   Downloaded aws-lc-rs v1.13.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 37ed5b4759e974eafb581809c780779ad84b3419dbe49b72b9f56eebf064d984
[INFO] running `Command { std: "docker" "start" "-a" "37ed5b4759e974eafb581809c780779ad84b3419dbe49b72b9f56eebf064d984", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "37ed5b4759e974eafb581809c780779ad84b3419dbe49b72b9f56eebf064d984", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37ed5b4759e974eafb581809c780779ad84b3419dbe49b72b9f56eebf064d984", kill_on_drop: false }`
[INFO] [stdout] 37ed5b4759e974eafb581809c780779ad84b3419dbe49b72b9f56eebf064d984
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7b189d4afcedbd152f4cf31beb7de1ca7c81afd9bfd0f1f8ef3dee6514ad9cb8
[INFO] running `Command { std: "docker" "start" "-a" "7b189d4afcedbd152f4cf31beb7de1ca7c81afd9bfd0f1f8ef3dee6514ad9cb8", 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] 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 libc v0.2.175
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.100
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling bitflags v2.9.2
[INFO] [stderr]    Compiling aws-lc-rs v1.13.3
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling wasm-bindgen v0.2.100
[INFO] [stderr]    Compiling rustls v0.23.31
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling webpki-roots v1.0.2
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling rustls-native-certs v0.6.3
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling cc v1.2.33
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[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 openssl v0.10.73
[INFO] [stderr]    Compiling stox-wasm v0.1.0 (/opt/rustwide/workdir/cr8s/stox-wasm)
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling rustls-webpki v0.103.4
[INFO] [stderr]    Compiling stox v0.1.0 (/opt/rustwide/workdir/cr8s/stox)
[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 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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[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<f64> = candles.iter().map(|c| c.close).collect();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prices`
[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: `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<String, String> {
[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<Vec<String>, Box<dyn std::error::Error>> {
[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<String, String> {
[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<StreamOwned<ClientConnection, TcpStream>, 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<String>,
[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 07s
[INFO] running `Command { std: "docker" "inspect" "7b189d4afcedbd152f4cf31beb7de1ca7c81afd9bfd0f1f8ef3dee6514ad9cb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b189d4afcedbd152f4cf31beb7de1ca7c81afd9bfd0f1f8ef3dee6514ad9cb8", kill_on_drop: false }`
[INFO] [stdout] 7b189d4afcedbd152f4cf31beb7de1ca7c81afd9bfd0f1f8ef3dee6514ad9cb8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 601efae255c8c168c304ff29ad551e7a19691d97a11d66de5b94cbdc1070fa39
[INFO] running `Command { std: "docker" "start" "-a" "601efae255c8c168c304ff29ad551e7a19691d97a11d66de5b94cbdc1070fa39", 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] 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 stox-wasm v0.1.0 (/opt/rustwide/workdir/cr8s/stox-wasm)
[INFO] [stderr]    Compiling stox v0.1.0 (/opt/rustwide/workdir/cr8s/stox)
[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 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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[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<f64> = candles.iter().map(|c| c.close).collect();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prices`
[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: `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<String, String> {
[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<Vec<String>, Box<dyn std::error::Error>> {
[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<String, String> {
[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<StreamOwned<ClientConnection, TcpStream>, 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<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `valid_ranges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.98s
[INFO] running `Command { std: "docker" "inspect" "601efae255c8c168c304ff29ad551e7a19691d97a11d66de5b94cbdc1070fa39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "601efae255c8c168c304ff29ad551e7a19691d97a11d66de5b94cbdc1070fa39", kill_on_drop: false }`
[INFO] [stdout] 601efae255c8c168c304ff29ad551e7a19691d97a11d66de5b94cbdc1070fa39
