[INFO] fetching crate snm-brightdata-client 0.4.0...
[INFO] building snm-brightdata-client-0.4.0 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate snm-brightdata-client 0.4.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate snm-brightdata-client 0.4.0
[INFO] finished tweaking crates.io crate snm-brightdata-client 0.4.0
[INFO] tweaked toml for crates.io crate snm-brightdata-client 0.4.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate snm-brightdata-client 0.4.0 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 crates.io crate snm-brightdata-client 0.4.0 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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded scraper v0.17.1
[INFO] [stderr]   Downloaded actix-web-lab-derive v0.24.0
[INFO] [stderr]   Downloaded redox_syscall v0.5.14
[INFO] [stderr]   Downloaded actix-web-lab v0.24.2
[INFO] [stderr]   Downloaded redis v0.32.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 45ac24f860f57c995529318ddd1efcd51ea29c7bafcdcdde159c590f7f6eb52c
[INFO] running `Command { std: "docker" "start" "-a" "45ac24f860f57c995529318ddd1efcd51ea29c7bafcdcdde159c590f7f6eb52c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "45ac24f860f57c995529318ddd1efcd51ea29c7bafcdcdde159c590f7f6eb52c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45ac24f860f57c995529318ddd1efcd51ea29c7bafcdcdde159c590f7f6eb52c", kill_on_drop: false }`
[INFO] [stdout] 45ac24f860f57c995529318ddd1efcd51ea29c7bafcdcdde159c590f7f6eb52c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 0f64cff28636228472b5b2f3bc4b963d956ca7fd068744d95e2df4927fda9270
[INFO] running `Command { std: "docker" "start" "-a" "0f64cff28636228472b5b2f3bc4b963d956ca7fd068744d95e2df4927fda9270", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling local-waker v0.1.4
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling actix-service v2.0.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling dtoa v1.0.10
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling actix-rt v2.10.0
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling brotli v8.0.1
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling local-channel v0.1.5
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling actix-server v2.6.0
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling cssparser v0.31.2
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling servo_arc v0.3.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling impl-more v0.1.9
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling getopts v0.2.23
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling actix-http v3.11.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling serde_html_form v0.2.7
[INFO] [stderr]    Compiling serde_path_to_error v0.1.17
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling actix-web-lab-derive v0.24.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling ego-tree v0.6.3
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling scraper v0.17.1
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling actix-web v4.11.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling redis v0.32.5
[INFO] [stderr]    Compiling actix-web-lab v0.24.2
[INFO] [stderr]    Compiling snm-brightdata-client v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ExecutionLog`
[INFO] [stdout]  --> src/tool.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::extras::logger::{JSON_LOGGER, ExecutionLog};
[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: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/stock.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/stock.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/stock.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/crypto.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/crypto.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/crypto.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/etf.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/etf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/etf.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/forex.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/forex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/forex.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/commodity.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/commodity.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/commodity.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/bond.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/bond.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/bond.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/index.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/index.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/index.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/mutual_fund.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/mutual_fund.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/mutual_fund.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/scrape.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/scrape.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/server.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::BrightDataError`
[INFO] [stdout]   --> src/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::error::BrightDataError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/extras/logger.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{info, error};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `reset-metrics`
[INFO] [stdout]    --> src/metrics/handler.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 292 | #[cfg(feature = "reset-metrics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `reset-metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/scrape_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/stock_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/crypto_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/etf_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/forex_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/commodity_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/bond_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/index_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/mutual_fund_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_message`
[INFO] [stdout]    --> src/tool.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     error_message: Option<&str>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/stock.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/stock.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/stock.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/stock.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut last_error = None;
[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: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/crypto.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/crypto.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout] 399 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/crypto.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/crypto.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/etf.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/etf.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/etf.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/etf.rs:410:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/forex.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/forex.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/forex.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/forex.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/commodity.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/commodity.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/commodity.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/commodity.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/bond.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/bond.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/bond.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/bond.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/index.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/index.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/index.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/index.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/mutual_fund.rs:479:17
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/tools/scrape.rs:338:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |         schema: Option<Value>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_headers`
[INFO] [stdout]    --> src/tools/scrape.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let response_headers: HashMap<String, String> = response
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/search.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut payload = json!({
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/stock.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/stock.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/stock.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/stock.rs:279:59
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn extract_essential_stock_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/stock.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/crypto.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/crypto.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/crypto.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/crypto.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 304 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/etf.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/etf.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/etf.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/etf.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/forex.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/forex.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/forex.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/forex.rs:264:59
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_forex_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/forex.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/commodity.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/commodity.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/commodity.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/commodity.rs:264:63
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_commodity_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/commodity.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/bond.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/bond.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/bond.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/bond.rs:273:58
[INFO] [stdout]     |
[INFO] [stdout] 273 |     fn extract_essential_bond_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/bond.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/index.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/index.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/index.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/index.rs:264:59
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_index_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/index.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:270:65
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn extract_essential_mutual_fund_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:367:9
[INFO] [stdout]     |
[INFO] [stdout] 367 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_used`
[INFO] [stdout]    --> src/tools/scrape.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     let source_used = "Cache";
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_used`
[INFO] [stdout]    --> src/tools/scrape.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     let method_used = "Redis Cache";
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/tools/search.rs:643:9
[INFO] [stdout]     |
[INFO] [stdout] 643 |         priority: crate::filters::strategy::QueryPriority
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_tokens`
[INFO] [stdout]    --> src/filters/response_filter.rs:134:61
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn extract_high_value_financial_data(content: &str, max_tokens: usize) -> String {
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn extract_high_value_financial_data(content: &str, _max_tokens: usize) -> String {
[INFO] [stdout]     |                                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 134 -     pub fn extract_high_value_financial_data(content: &str, max_tokens: usize) -> String {
[INFO] [stdout] 134 +     pub fn extract_high_value_financial_data(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:150:54
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 150 -     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 150 +     fn safe_extract_priority_patterns(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:183:44
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn truncate_content(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn truncate_content(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 183 -     pub fn truncate_content(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 183 +     pub fn truncate_content(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:199:46
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 199 -     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 199 +     fn safe_truncate_fallback(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:228:68
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn smart_truncate_preserving_financial_data(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn smart_truncate_preserving_financial_data(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                                    +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 228 -     pub fn smart_truncate_preserving_financial_data(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 228 +     pub fn smart_truncate_preserving_financial_data(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:244:62
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 244 -     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 244 +     fn safe_extract_financial_lines_truncated(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn classify_query_priority(query: &str) -> QueryPriority {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn is_likely_stock_symbol(query: &str) -> bool {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:94:45
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn get_recommended_token_allocation(query: &str) -> usize {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/filters/strategy.rs:134:27
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(_tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 134 -     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout] 134 +     fn record_token_usage(filters::strategy::TOTAL_TOKEN_BUDGET: usize, query: &str, success: bool) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/filters/strategy.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `success`
[INFO] [stdout]    --> src/filters/strategy.rs:134:55
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/filters/strategy.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn get_enhanced_query_type(query: &str) -> String {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn create_emergency_stock_response(content: &str, query: &str) -> String {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:247:34
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn extract_key_stock_metrics(content: &str, query: &str, market: &str) -> String {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn create_stock_summary(content: &str, query: &str, market: &str) -> String {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:268:45
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn create_token_efficient_stock_content(content: &str, query: &str, market: &str, _source: &str) -> String {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/filters/strategy.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn apply_size_limits(mut result: ToolResult) -> ToolResult {
[INFO] [stdout]     |                              ----^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:294:35
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn should_try_next_source(content: &str) -> bool {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url_hash`
[INFO] [stdout]   --> src/services/cache/scrape_cache.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let url_hash = hasher.finish();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_url_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_essential_stock_data`, `extract_financial_lines`, and `format_financial_metrics` are never used
[INFO] [stdout]    --> src/tools/stock.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl StockDataTool {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn extract_essential_stock_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn format_financial_metrics(&self, data: &str) -> String {
[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 `extract_essential_forex_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/forex.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl ForexDataTool {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_forex_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_essential_commodity_data`, `extract_financial_lines`, and `format_financial_metrics` are never used
[INFO] [stdout]    --> src/tools/commodity.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl CommodityDataTool {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_commodity_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_bond_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/bond.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl BondDataTool {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn extract_essential_bond_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_index_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/index.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl IndexDataTool {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_index_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_mutual_fund_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/mutual_fund.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl MutualFundDataTool {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn extract_essential_mutual_fund_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 973 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FINANCIAL_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static FINANCIAL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static NUMBER_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ESSENTIAL_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static ESSENTIAL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_PRICE_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static STOCK_PRICE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MARKET_CAP_REGEX` is never used
[INFO] [stdout]   --> src/filters/response_filter.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | static MARKET_CAP_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_SYMBOL_REGEX` is never used
[INFO] [stdout]   --> src/filters/response_filter.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | static STOCK_SYMBOL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/filters/response_filter.rs:46:8
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ResponseFilter {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     fn safe_extract_financial_lines(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     fn extract_stock_specific_data(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn extract_only_essential_metrics(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn safe_extract_any_numbers(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_TOKEN_COUNTER` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | static GLOBAL_TOKEN_COUNTER: OnceLock<Mutex<usize>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALL_COUNTER` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | static CALL_COUNTER: OnceLock<Mutex<usize>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRIORITY_QUERIES` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | static PRIORITY_QUERIES: OnceLock<Mutex<HashMap<String, usize>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EXTRACTION_SUCCESS` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | static EXTRACTION_SUCCESS: OnceLock<Mutex<HashMap<String, f32>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRICE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | static PRICE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MARKET_CAP_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | static MARKET_CAP_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | static PE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VOLUME_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | static VOLUME_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DIVIDEND_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | static DIVIDEND_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_CHANGE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | static STOCK_CHANGE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_SYMBOL_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | static STOCK_SYMBOL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `init_counters`, `is_likely_stock_symbol`, and `get_enhanced_query_type` are never used
[INFO] [stdout]    --> src/filters/strategy.rs:71:8
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl ResponseStrategy {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn init_counters() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn is_likely_stock_symbol(query: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn get_enhanced_query_type(query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/bin/snm_server.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web_lab::sse::{self, Sse, Event};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 15s
[INFO] running `Command { std: "docker" "inspect" "0f64cff28636228472b5b2f3bc4b963d956ca7fd068744d95e2df4927fda9270", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f64cff28636228472b5b2f3bc4b963d956ca7fd068744d95e2df4927fda9270", kill_on_drop: false }`
[INFO] [stdout] 0f64cff28636228472b5b2f3bc4b963d956ca7fd068744d95e2df4927fda9270
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 809d052dfde52147111dcecb2f9616ac13fe619f8a2c6053911e25d0b8921598
[INFO] running `Command { std: "docker" "start" "-a" "809d052dfde52147111dcecb2f9616ac13fe619f8a2c6053911e25d0b8921598", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `ExecutionLog`
[INFO] [stdout]  --> src/tool.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::extras::logger::{JSON_LOGGER, ExecutionLog};
[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: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/stock.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/stock.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/stock.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/crypto.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/crypto.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/crypto.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/etf.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/etf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/etf.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/forex.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/forex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/forex.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/commodity.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/commodity.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/commodity.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/bond.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/bond.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/bond.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/index.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/index.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/index.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/mutual_fund.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/mutual_fund.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/mutual_fund.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/scrape.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/scrape.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/server.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::BrightDataError`
[INFO] [stdout]   --> src/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::error::BrightDataError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/extras/logger.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{info, error};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `reset-metrics`
[INFO] [stdout]    --> src/metrics/handler.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 292 | #[cfg(feature = "reset-metrics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `reset-metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/scrape_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/stock_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/crypto_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/etf_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/forex_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/commodity_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/bond_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/index_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/mutual_fund_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_message`
[INFO] [stdout]    --> src/tool.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     error_message: Option<&str>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/stock.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/stock.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/stock.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/stock.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut last_error = None;
[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: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/crypto.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/crypto.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout] 399 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/crypto.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/crypto.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/etf.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/etf.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/etf.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/etf.rs:410:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/forex.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/forex.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/forex.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/forex.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/commodity.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/commodity.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/commodity.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/commodity.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/bond.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/bond.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/bond.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/bond.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/index.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/index.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/index.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/index.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/mutual_fund.rs:479:17
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/tools/scrape.rs:338:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |         schema: Option<Value>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_headers`
[INFO] [stdout]    --> src/tools/scrape.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let response_headers: HashMap<String, String> = response
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/search.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut payload = json!({
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/stock.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/stock.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/stock.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/stock.rs:279:59
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn extract_essential_stock_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/stock.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/crypto.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/crypto.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/crypto.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/crypto.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 304 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/etf.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/etf.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/etf.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/etf.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/forex.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/forex.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/forex.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/forex.rs:264:59
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_forex_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/forex.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/commodity.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/commodity.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/commodity.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/commodity.rs:264:63
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_commodity_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/commodity.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/bond.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/bond.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/bond.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/bond.rs:273:58
[INFO] [stdout]     |
[INFO] [stdout] 273 |     fn extract_essential_bond_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/bond.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/index.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/index.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/index.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/index.rs:264:59
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_index_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/index.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:270:65
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn extract_essential_mutual_fund_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:367:9
[INFO] [stdout]     |
[INFO] [stdout] 367 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_used`
[INFO] [stdout]    --> src/tools/scrape.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     let source_used = "Cache";
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_used`
[INFO] [stdout]    --> src/tools/scrape.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     let method_used = "Redis Cache";
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/tools/search.rs:643:9
[INFO] [stdout]     |
[INFO] [stdout] 643 |         priority: crate::filters::strategy::QueryPriority
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_tokens`
[INFO] [stdout]    --> src/filters/response_filter.rs:134:61
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn extract_high_value_financial_data(content: &str, max_tokens: usize) -> String {
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn extract_high_value_financial_data(content: &str, _max_tokens: usize) -> String {
[INFO] [stdout]     |                                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 134 -     pub fn extract_high_value_financial_data(content: &str, max_tokens: usize) -> String {
[INFO] [stdout] 134 +     pub fn extract_high_value_financial_data(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:150:54
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 150 -     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 150 +     fn safe_extract_priority_patterns(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:183:44
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn truncate_content(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn truncate_content(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 183 -     pub fn truncate_content(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 183 +     pub fn truncate_content(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:199:46
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 199 -     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 199 +     fn safe_truncate_fallback(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:228:68
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn smart_truncate_preserving_financial_data(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn smart_truncate_preserving_financial_data(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                                    +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 228 -     pub fn smart_truncate_preserving_financial_data(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 228 +     pub fn smart_truncate_preserving_financial_data(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:244:62
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 244 -     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 244 +     fn safe_extract_financial_lines_truncated(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn classify_query_priority(query: &str) -> QueryPriority {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn is_likely_stock_symbol(query: &str) -> bool {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:94:45
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn get_recommended_token_allocation(query: &str) -> usize {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/filters/strategy.rs:134:27
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(_tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 134 -     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout] 134 +     fn record_token_usage(filters::strategy::TOTAL_TOKEN_BUDGET: usize, query: &str, success: bool) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/filters/strategy.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `success`
[INFO] [stdout]    --> src/filters/strategy.rs:134:55
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/filters/strategy.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn get_enhanced_query_type(query: &str) -> String {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn create_emergency_stock_response(content: &str, query: &str) -> String {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:247:34
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn extract_key_stock_metrics(content: &str, query: &str, market: &str) -> String {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn create_stock_summary(content: &str, query: &str, market: &str) -> String {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:268:45
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn create_token_efficient_stock_content(content: &str, query: &str, market: &str, _source: &str) -> String {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/filters/strategy.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn apply_size_limits(mut result: ToolResult) -> ToolResult {
[INFO] [stdout]     |                              ----^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:294:35
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn should_try_next_source(content: &str) -> bool {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url_hash`
[INFO] [stdout]   --> src/services/cache/scrape_cache.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let url_hash = hasher.finish();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_url_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_essential_stock_data`, `extract_financial_lines`, and `format_financial_metrics` are never used
[INFO] [stdout]    --> src/tools/stock.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl StockDataTool {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn extract_essential_stock_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn format_financial_metrics(&self, data: &str) -> String {
[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 `extract_essential_forex_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/forex.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl ForexDataTool {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_forex_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_essential_commodity_data`, `extract_financial_lines`, and `format_financial_metrics` are never used
[INFO] [stdout]    --> src/tools/commodity.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl CommodityDataTool {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_commodity_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_bond_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/bond.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl BondDataTool {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn extract_essential_bond_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_index_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/index.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl IndexDataTool {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_index_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_mutual_fund_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/mutual_fund.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl MutualFundDataTool {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn extract_essential_mutual_fund_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 973 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FINANCIAL_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static FINANCIAL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static NUMBER_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ESSENTIAL_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static ESSENTIAL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_PRICE_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static STOCK_PRICE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MARKET_CAP_REGEX` is never used
[INFO] [stdout]   --> src/filters/response_filter.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | static MARKET_CAP_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_SYMBOL_REGEX` is never used
[INFO] [stdout]   --> src/filters/response_filter.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | static STOCK_SYMBOL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/filters/response_filter.rs:46:8
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ResponseFilter {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     fn safe_extract_financial_lines(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     fn extract_stock_specific_data(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn extract_only_essential_metrics(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn safe_extract_any_numbers(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_TOKEN_COUNTER` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | static GLOBAL_TOKEN_COUNTER: OnceLock<Mutex<usize>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALL_COUNTER` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | static CALL_COUNTER: OnceLock<Mutex<usize>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRIORITY_QUERIES` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | static PRIORITY_QUERIES: OnceLock<Mutex<HashMap<String, usize>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EXTRACTION_SUCCESS` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | static EXTRACTION_SUCCESS: OnceLock<Mutex<HashMap<String, f32>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRICE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | static PRICE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MARKET_CAP_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | static MARKET_CAP_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | static PE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VOLUME_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | static VOLUME_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DIVIDEND_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | static DIVIDEND_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_CHANGE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | static STOCK_CHANGE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_SYMBOL_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | static STOCK_SYMBOL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `init_counters`, `is_likely_stock_symbol`, and `get_enhanced_query_type` are never used
[INFO] [stdout]    --> src/filters/strategy.rs:71:8
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl ResponseStrategy {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn init_counters() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn is_likely_stock_symbol(query: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn get_enhanced_query_type(query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling snm-brightdata-client v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/bin/snm_server.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web_lab::sse::{self, Sse, Event};
[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: `ExecutionLog`
[INFO] [stdout]  --> src/tool.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::extras::logger::{JSON_LOGGER, ExecutionLog};
[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: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/stock.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/stock.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/stock.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/crypto.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/crypto.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/crypto.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/etf.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/etf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/etf.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/forex.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/forex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/forex.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/commodity.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/commodity.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/commodity.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/bond.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/bond.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/bond.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/index.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/index.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/index.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseFilter` and `ResponseType`
[INFO] [stdout]  --> src/tools/mutual_fund.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::filters::{ResponseFilter, ResponseStrategy, ResponseType};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/mutual_fund.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/mutual_fund.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::extras::logger::JSON_LOGGER`
[INFO] [stdout]  --> src/tools/scrape.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::extras::logger::JSON_LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/tools/scrape.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, warn, error};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/server.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::BrightDataError`
[INFO] [stdout]   --> src/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::error::BrightDataError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/extras/logger.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{info, error};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `reset-metrics`
[INFO] [stdout]    --> src/metrics/handler.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 292 | #[cfg(feature = "reset-metrics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `reset-metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/scrape_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/stock_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/crypto_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/etf_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/forex_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/commodity_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/bond_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/index_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/services/cache/mutual_fund_cache.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_message`
[INFO] [stdout]    --> src/tool.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     error_message: Option<&str>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/stock.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/stock.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/stock.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/stock.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut last_error = None;
[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: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/crypto.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/crypto.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout] 399 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/crypto.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/crypto.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/etf.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/etf.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/etf.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/etf.rs:410:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/forex.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/forex.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/forex.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/forex.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/commodity.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/commodity.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/commodity.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/commodity.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/bond.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/bond.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/bond.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/bond.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/index.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/index.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/index.rs:467:9
[INFO] [stdout]     |
[INFO] [stdout] 467 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/index.rs:473:17
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeframe`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         timeframe: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeframe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/tools/mutual_fund.rs:479:17
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut last_error = None;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/tools/scrape.rs:338:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |         schema: Option<Value>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_headers`
[INFO] [stdout]    --> src/tools/scrape.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let response_headers: HashMap<String, String> = response
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/search.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut payload = json!({
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/stock.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/stock.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/stock.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/stock.rs:279:59
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn extract_essential_stock_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/stock.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/crypto.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/crypto.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/crypto.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/crypto.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 304 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/etf.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/etf.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/etf.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/etf.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/forex.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/forex.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/forex.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/forex.rs:264:59
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_forex_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/forex.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/commodity.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/commodity.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/commodity.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/commodity.rs:264:63
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_commodity_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/commodity.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/bond.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/bond.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/bond.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/bond.rs:273:58
[INFO] [stdout]     |
[INFO] [stdout] 273 |     fn extract_essential_bond_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/bond.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/index.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/index.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/index.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/index.rs:264:59
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn extract_essential_index_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/index.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_ratios`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         include_ratios: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_ratios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_volume`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         include_volume: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         execution_id: &str
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:270:65
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn extract_essential_mutual_fund_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/tools/mutual_fund.rs:367:9
[INFO] [stdout]     |
[INFO] [stdout] 367 |         data_type: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_used`
[INFO] [stdout]    --> src/tools/scrape.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     let source_used = "Cache";
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_used`
[INFO] [stdout]    --> src/tools/scrape.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     let method_used = "Redis Cache";
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/tools/search.rs:643:9
[INFO] [stdout]     |
[INFO] [stdout] 643 |         priority: crate::filters::strategy::QueryPriority
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_tokens`
[INFO] [stdout]    --> src/filters/response_filter.rs:134:61
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn extract_high_value_financial_data(content: &str, max_tokens: usize) -> String {
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn extract_high_value_financial_data(content: &str, _max_tokens: usize) -> String {
[INFO] [stdout]     |                                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 134 -     pub fn extract_high_value_financial_data(content: &str, max_tokens: usize) -> String {
[INFO] [stdout] 134 +     pub fn extract_high_value_financial_data(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:150:54
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 150 -     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 150 +     fn safe_extract_priority_patterns(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:183:44
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn truncate_content(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn truncate_content(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 183 -     pub fn truncate_content(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 183 +     pub fn truncate_content(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:199:46
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 199 -     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 199 +     fn safe_truncate_fallback(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:228:68
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn smart_truncate_preserving_financial_data(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn smart_truncate_preserving_financial_data(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                                    +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 228 -     pub fn smart_truncate_preserving_financial_data(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 228 +     pub fn smart_truncate_preserving_financial_data(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_chars`
[INFO] [stdout]    --> src/filters/response_filter.rs:244:62
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |                                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, _max_chars: usize) -> String {
[INFO] [stdout]     |                                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 244 -     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout] 244 +     fn safe_extract_financial_lines_truncated(content: &str, filters::strategy::TOTAL_TOKEN_BUDGET: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn classify_query_priority(query: &str) -> QueryPriority {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn is_likely_stock_symbol(query: &str) -> bool {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/filters/strategy.rs:94:45
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn get_recommended_token_allocation(query: &str) -> usize {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/filters/strategy.rs:134:27
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(_tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TOTAL_TOKEN_BUDGET`
[INFO] [stdout]     |
[INFO] [stdout] 134 -     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout] 134 +     fn record_token_usage(filters::strategy::TOTAL_TOKEN_BUDGET: usize, query: &str, success: bool) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/filters/strategy.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `success`
[INFO] [stdout]    --> src/filters/strategy.rs:134:55
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn record_token_usage(tokens: usize, query: &str, success: bool) {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/filters/strategy.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn get_enhanced_query_type(query: &str) -> String {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn create_emergency_stock_response(content: &str, query: &str) -> String {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:247:34
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn extract_key_stock_metrics(content: &str, query: &str, market: &str) -> String {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn create_stock_summary(content: &str, query: &str, market: &str) -> String {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:268:45
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn create_token_efficient_stock_content(content: &str, query: &str, market: &str, _source: &str) -> String {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/filters/strategy.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn apply_size_limits(mut result: ToolResult) -> ToolResult {
[INFO] [stdout]     |                              ----^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/filters/strategy.rs:294:35
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn should_try_next_source(content: &str) -> bool {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url_hash`
[INFO] [stdout]   --> src/services/cache/scrape_cache.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let url_hash = hasher.finish();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_url_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_essential_stock_data`, `extract_financial_lines`, and `format_financial_metrics` are never used
[INFO] [stdout]    --> src/tools/stock.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl StockDataTool {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn extract_essential_stock_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn format_financial_metrics(&self, data: &str) -> String {
[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 `extract_essential_forex_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/forex.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl ForexDataTool {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_forex_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_essential_commodity_data`, `extract_financial_lines`, and `format_financial_metrics` are never used
[INFO] [stdout]    --> src/tools/commodity.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl CommodityDataTool {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_commodity_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_bond_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/bond.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl BondDataTool {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn extract_essential_bond_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_index_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/index.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl IndexDataTool {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn extract_essential_index_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_essential_mutual_fund_data`, `extract_financial_lines`, `format_financial_metrics`, and `normalize_pair` are never used
[INFO] [stdout]    --> src/tools/mutual_fund.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl MutualFundDataTool {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn extract_essential_mutual_fund_data(&self, content: &str, query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn extract_financial_lines(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     fn format_financial_metrics(&self, data: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 973 |     fn normalize_pair(raw: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FINANCIAL_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static FINANCIAL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static NUMBER_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ESSENTIAL_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static ESSENTIAL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_PRICE_REGEX` is never used
[INFO] [stdout]  --> src/filters/response_filter.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static STOCK_PRICE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MARKET_CAP_REGEX` is never used
[INFO] [stdout]   --> src/filters/response_filter.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | static MARKET_CAP_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_SYMBOL_REGEX` is never used
[INFO] [stdout]   --> src/filters/response_filter.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | static STOCK_SYMBOL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/filters/response_filter.rs:46:8
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ResponseFilter {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     fn safe_extract_financial_lines(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     fn extract_stock_specific_data(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn extract_only_essential_metrics(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn safe_extract_any_numbers(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn safe_extract_priority_patterns(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn safe_truncate_fallback(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn safe_extract_financial_lines_truncated(content: &str, max_chars: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_TOKEN_COUNTER` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | static GLOBAL_TOKEN_COUNTER: OnceLock<Mutex<usize>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALL_COUNTER` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | static CALL_COUNTER: OnceLock<Mutex<usize>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRIORITY_QUERIES` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | static PRIORITY_QUERIES: OnceLock<Mutex<HashMap<String, usize>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EXTRACTION_SUCCESS` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | static EXTRACTION_SUCCESS: OnceLock<Mutex<HashMap<String, f32>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRICE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | static PRICE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MARKET_CAP_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | static MARKET_CAP_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | static PE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VOLUME_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | static VOLUME_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DIVIDEND_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | static DIVIDEND_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_CHANGE_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | static STOCK_CHANGE_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `STOCK_SYMBOL_REGEX` is never used
[INFO] [stdout]   --> src/filters/strategy.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | static STOCK_SYMBOL_REGEX: OnceLock<Regex> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `init_counters`, `is_likely_stock_symbol`, and `get_enhanced_query_type` are never used
[INFO] [stdout]    --> src/filters/strategy.rs:71:8
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl ResponseStrategy {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn init_counters() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn is_likely_stock_symbol(query: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn get_enhanced_query_type(query: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 17.88s
[INFO] running `Command { std: "docker" "inspect" "809d052dfde52147111dcecb2f9616ac13fe619f8a2c6053911e25d0b8921598", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "809d052dfde52147111dcecb2f9616ac13fe619f8a2c6053911e25d0b8921598", kill_on_drop: false }`
[INFO] [stdout] 809d052dfde52147111dcecb2f9616ac13fe619f8a2c6053911e25d0b8921598
