[INFO] fetching crate finance-news-aggregator-rs 0.2.2...
[INFO] testing finance-news-aggregator-rs-0.2.2 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate finance-news-aggregator-rs 0.2.2 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate finance-news-aggregator-rs 0.2.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate finance-news-aggregator-rs 0.2.2
[INFO] tweaked toml for crates.io crate finance-news-aggregator-rs 0.2.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate finance-news-aggregator-rs 0.2.2 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate finance-news-aggregator-rs 0.2.2 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fake_user_agent v0.2.2
[INFO] [stderr]   Downloaded quick-xml v0.38.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cd74f66effda02980420c0043cc0ba6ab436047701094d4c5fe4ea10ace07f1c
[INFO] running `Command { std: "docker" "start" "-a" "cd74f66effda02980420c0043cc0ba6ab436047701094d4c5fe4ea10ace07f1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd74f66effda02980420c0043cc0ba6ab436047701094d4c5fe4ea10ace07f1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd74f66effda02980420c0043cc0ba6ab436047701094d4c5fe4ea10ace07f1c", kill_on_drop: false }`
[INFO] [stdout] cd74f66effda02980420c0043cc0ba6ab436047701094d4c5fe4ea10ace07f1c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c4add92846c64e986424aa6f1047425ac05c3238c98a6e40dbb75267d94c0e6
[INFO] running `Command { std: "docker" "start" "-a" "3c4add92846c64e986424aa6f1047425ac05c3238c98a6e40dbb75267d94c0e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling fake_user_agent v0.2.2
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling quick-xml v0.38.2
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling finance-news-aggregator-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.05s
[INFO] running `Command { std: "docker" "inspect" "3c4add92846c64e986424aa6f1047425ac05c3238c98a6e40dbb75267d94c0e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c4add92846c64e986424aa6f1047425ac05c3238c98a6e40dbb75267d94c0e6", kill_on_drop: false }`
[INFO] [stdout] 3c4add92846c64e986424aa6f1047425ac05c3238c98a6e40dbb75267d94c0e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13a73ed3f3d337b8206d9790c4c306ecfedc3b097fe48d8d9bcbb1e8500ff416
[INFO] running `Command { std: "docker" "start" "-a" "13a73ed3f3d337b8206d9790c4c306ecfedc3b097fe48d8d9bcbb1e8500ff416", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling finance-news-aggregator-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/config_example.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut default_client = NewsClient::new();
[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: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[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 functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[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 functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[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 functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[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 functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[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 functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name` and `tests_failed` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 45 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub tests_failed: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SourceSummary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name` and `error_message` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[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 functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[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 functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 30.06s
[INFO] running `Command { std: "docker" "inspect" "13a73ed3f3d337b8206d9790c4c306ecfedc3b097fe48d8d9bcbb1e8500ff416", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13a73ed3f3d337b8206d9790c4c306ecfedc3b097fe48d8d9bcbb1e8500ff416", kill_on_drop: false }`
[INFO] [stdout] 13a73ed3f3d337b8206d9790c4c306ecfedc3b097fe48d8d9bcbb1e8500ff416
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 30b32e7b1d09f7254140a0cc60ce4b9b79a189508fefdba3d6968d8eadc98561
[INFO] running `Command { std: "docker" "start" "-a" "30b32e7b1d09f7254140a0cc60ce4b9b79a189508fefdba3d6968d8eadc98561", kill_on_drop: false }`
[INFO] [stderr] warning: struct `CliRunner` is never constructed
[INFO] [stderr]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct CliRunner;
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `run` and `print_help` are never used
[INFO] [stderr]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl CliRunner {
[INFO] [stderr]     | -------------- associated functions in this implementation
[INFO] [stderr]  11 |     /// Run integration tests from command line
[INFO] [stderr]  12 |     pub async fn run() {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     fn print_help() {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source_name` and `tests_failed` are never read
[INFO] [stderr]   --> tests/integration/test_runner.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct SourceSummary {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 45 |     pub source_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub tests_failed: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SourceSummary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestConfig` is never constructed
[INFO] [stderr]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct TestConfig {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source_name` and `error_message` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct TestResult {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 33 |     pub source_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub error_message: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `config` and `start_time` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct TestContext {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 67 |     pub client: Client,
[INFO] [stderr] 68 |     pub config: IntegrationTestConfig,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stderr] 70 |     pub start_time: Instant,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub struct IntegrationTestConfig {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 89 |     pub test_timeout_seconds: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 90 |     pub network_retry_attempts: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 92 |     pub ci_mode: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stderr]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl IntegrationTestConfig {
[INFO] [stderr]     | -------------------------- associated items in this implementation
[INFO] [stderr] 116 |     /// Create a new configuration with source filtering
[INFO] [stderr] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_news_collection` is never used
[INFO] [stderr]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_contains_expected_values` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub fn assert_contains_expected_values(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_contains_keys` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stderr]     |
[INFO] [stderr] 153 | pub struct ArticleValidationRules {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `lenient` and `strict` are never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stderr]     |
[INFO] [stderr] 177 | impl ArticleValidationRules {
[INFO] [stderr]     | --------------------------- associated functions in this implementation
[INFO] [stderr] 178 |     /// Create lenient validation rules for testing
[INFO] [stderr] 179 |     pub fn lenient() -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     pub fn strict() -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_article_meets_rules` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stderr]     |
[INFO] [stderr] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stderr]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl ClientFactory {
[INFO] [stderr]    | ------------------ associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `max_attempts` is never read
[INFO] [stderr]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct RetryConfig {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 50 |     pub max_attempts: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stderr]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stderr]     |
[INFO] [stderr]  13 | impl DeprecationTracker {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  47 |     pub fn record_failure_with_url(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `error_message` and `timestamp` are never read
[INFO] [stderr]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stderr]     |
[INFO] [stderr] 185 | pub struct FailureRecord {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 189 |     pub error_message: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `last_working` is never read
[INFO] [stderr]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 196 | pub struct DeprecatedEndpoint {
[INFO] [stderr]     |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 201 |     pub last_working: Option<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `is_feature_enabled` is never used
[INFO] [stderr]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stderr]     |
[INFO] [stderr]  28 | impl EnvironmentConfig {
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stderr]   --> tests/integration/test_runner.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct IntegrationTestRunner {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 22 |     config: EnvironmentConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 23 |     context: TestContext,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 24 |     results: Vec<TestResult>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 26 |     start_time: Instant,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestSummary` is never constructed
[INFO] [stderr]   --> tests/integration/test_runner.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct TestSummary {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SourceSummary` is never constructed
[INFO] [stderr]   --> tests/integration/test_runner.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct SourceSummary {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> tests/integration/test_runner.rs:81:18
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl IntegrationTestRunner {
[INFO] [stderr]     | -------------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     async fn run_tests_parallel(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 155 |     async fn run_tests_sequential(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 178 |     async fn test_source_async(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 417 |     async fn test_function_with_symbols(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct TestResult {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 33 |     pub source_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 34 |     pub function_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 35 |     pub success: bool,
[INFO] [stderr] 36 |     pub error_message: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 37 |     pub article_count: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 38 |     pub execution_time_ms: u128,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct TestContext {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 67 |     pub client: Client,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 68 |     pub config: IntegrationTestConfig,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 70 |     pub start_time: Instant,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stderr]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub struct EnvironmentConfig {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub enable_performance_tracking: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     pub parallel_execution: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     pub verbose_output: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/config_example.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut default_client = NewsClient::new();
[INFO] [stderr]    |         ----^^^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "integration_test_suite") generated 21 warnings
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_seeking_alpha_integration") generated 25 warnings (18 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_nasdaq_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_cnbc_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_yahoo_finance_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_market_watch_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (example "config_example") generated 1 warning (run `cargo fix --example "config_example" -p finance-news-aggregator-rs` to apply 1 suggestion)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_wsj_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/finance_news_aggregator_rs-e85af618c3416896)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test news_source::wsj::tests::test_wsj_config ... ok
[INFO] [stdout] test news_source::wsj::tests::test_wsj_opinions ... ok
[INFO] [stdout] test news_client::tests::test_nasdaq_client_access ... ok
[INFO] [stdout] test news_client::tests::test_wsj_client_access ... ok
[INFO] [stdout] test news_client::tests::test_seeking_alpha_client_access ... ok
[INFO] [stdout] test news_client::tests::test_generic_client_access ... ok
[INFO] [stdout] test news_client::tests::test_market_watch_client_access ... ok
[INFO] [stdout] test news_client::tests::test_cnbc_client_access ... ok
[INFO] [stdout] test news_client::tests::test_all_clients_independent ... ok
[INFO] [stdout] test news_client::tests::test_yahoo_finance_client_access ... ok
[INFO] [stdout] test news_client::tests::test_client_creation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test_suite.rs (/opt/rustwide/target/debug/deps/integration_test_suite-a5117bf5dde516c8)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test integration::utils::assertions::tests::test_valid_news_article ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_non_empty_collection ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_valid_url_assertion ... ok
[INFO] [stdout] test integration::utils::client_factory::tests::test_retry_config_delay_calculation ... ok
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_deprecation_report_generation ... ok
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_failure_recording ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_environment_detection ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_feature_flags ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_sources_filter ... ok
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_error_classification ... ok
[INFO] [stdout] test run_deprecation_detection_tests ... ignored
[INFO] [stdout] test integration::utils::assertions::tests::test_invalid_url_assertion - should panic ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_empty_collection_assertion - should panic ... ok
[INFO] [stdout] test test_network_connectivity ... ok
[INFO] [stdout] test integration::utils::client_factory::tests::test_client_creation ... ok
[INFO] [stdout] test run_comprehensive_integration_tests ... FAILED
[INFO] [stdout] test integration::test_runner::tests::test_basic_functionality_test ... ok
[INFO] [stdout] test integration::test_runner::tests::test_runner_creation ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- run_comprehensive_integration_tests stdout ----
[INFO] [stdout] 🚀 Starting comprehensive integration test suite
[INFO] [stdout] 🚀 Starting comprehensive integration test suite
[INFO] [stdout] Environment: Local
[INFO] [stdout] Configuration: EnvironmentConfig { test_mode: Local, timeout_seconds: 45, max_retries: 3, sources_filter: None, enable_deprecation_tracking: true, enable_performance_tracking: true, parallel_execution: true, verbose_output: true }
[INFO] [stdout] 
[INFO] [stdout] 🔄 Running tests in parallel mode
[INFO] [stdout] ✅ Completed tests for CNBC
[INFO] [stdout] ✅ Completed tests for MarketWatch
[INFO] [stdout] ✅ Completed tests for NASDAQ
[INFO] [stdout] ✅ Completed tests for SeekingAlpha
[INFO] [stdout] ✅ Completed tests for WallStreetJournal
[INFO] [stdout] ✅ Completed tests for YahooFinance
[INFO] [stdout] 
[INFO] [stdout] 🎯 ===== INTEGRATION TEST SUMMARY =====
[INFO] [stdout] ⏱️  Total execution time: 27.94457ms
[INFO] [stdout] 📊 Total tests: 65
[INFO] [stdout] ✅ Successful: 7 (10.8%)
[INFO] [stdout] ❌ Failed: 58 (89.2%)
[INFO] [stdout] 📰 Total articles fetched: 0
[INFO] [stdout] 
[INFO] [stdout] 📈 === SOURCE BREAKDOWN ===
[INFO] [stdout] 🔸 WallStreetJournal: 2/8 passed (25.0%) - 0 articles - avg 1ms
[INFO] [stdout]    Failed functions: ["lifestyle", "market_news", "opinions", "technology_news", "us_business_news", "world_news"]
[INFO] [stdout] 🔸 YahooFinance: 1/8 passed (12.5%) - 0 articles - avg 2ms
[INFO] [stdout]    Failed functions: ["headlines", "topstories", "headline(AAPL)", "headline(MSFT)", "headline(TSLA)", "headline(array_0)", "headline(array_1)"]
[INFO] [stdout] 🔸 MarketWatch: 1/5 passed (20.0%) - 0 articles - avg 2ms
[INFO] [stdout]    Failed functions: ["top_stories", "real_time_headlines", "market_pulse", "bulletins"]
[INFO] [stdout] 🔸 NASDAQ: 1/13 passed (7.7%) - 0 articles - avg 1ms
[INFO] [stdout]    Failed functions: ["commodities", "cryptocurrency", "dividends", "earnings", "economics", "innovation", "original_content", "financial_advisors", "stocks", "fetch_topic(commodities)", "fetch_topic(cryptocurrency)", "fetch_topic(earnings)"]
[INFO] [stdout] 🔸 CNBC: 1/10 passed (10.0%) - 0 articles - avg 1ms
[INFO] [stdout]    Failed functions: ["top_news", "business", "technology", "investing", "world_news", "fetch_topic(economy)", "fetch_topic(finance)", "fetch_topic(politics)", "fetch_topic(health_care)"]
[INFO] [stdout] 🔸 SeekingAlpha: 1/21 passed (4.8%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["all_news", "editors_picks", "etfs", "forex", "ipo_analysis", "latest_articles", "long_ideas", "short_ideas", "transcripts", "wall_street_breakfast", "most_popular_articles", "global_markets(US)", "global_markets(UK)", "global_markets(Germany)", "sectors(technology)", "sectors(healthcare)", "sectors(finance)", "stocks(AAPL)", "stocks(MSFT)", "stocks(GOOGL)"]
[INFO] [stdout] 
[INFO] [stdout] 🔍 === DEPRECATION REPORT ===
[INFO] [stdout] === DEPRECATION REPORT ===
[INFO] [stdout] Total Failures: 0
[INFO] [stdout] Sources Affected: 0
[INFO] [stdout] 
[INFO] [stdout] Error Summary:
[INFO] [stdout] 
[INFO] [stdout] === END REPORT ===
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ⚡ === PERFORMANCE REPORT ===
[INFO] [stdout] === PERFORMANCE ANALYSIS ===
[INFO] [stdout] SeekingAlpha: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] WallStreetJournal: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] YahooFinance: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] MarketWatch: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] CNBC: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] NASDAQ: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 🚨 Overall Status: CRITICAL (10.8% success rate)
[INFO] [stdout] =====================================
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'run_comprehensive_integration_tests' (53) panicked at tests/integration_test_suite.rs:36:5:
[INFO] [stdout] Test success rate too low: 10.8% (expected >= 50%)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x589ffd46de02 - std::backtrace_rs::backtrace::libunwind::trace::ha50a1f28c7a10cf8
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x589ffd46de02 - std::backtrace_rs::backtrace::trace_unsynchronized::h34f8c4ec82a320bc
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x589ffd46de02 - std::sys::backtrace::_print_fmt::h2d23e84e13d343bc
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x589ffd46de02 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hde21067283f7e82e
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x589ffd4807ff - core::fmt::rt::Argument::fmt::he65307037dca33c6
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x589ffd4807ff - core::fmt::write::h24186904251c31cb
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x589ffd438483 - std::io::default_write_fmt::h4e8d11c5c4b9cafe
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x589ffd438483 - std::io::Write::write_fmt::ha849be0824d095ef
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x589ffd445512 - std::sys::backtrace::BacktraceLock::print::he038489aba5894a6
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x589ffd44a48f - std::panicking::default_hook::{{closure}}::h80a26d916c49679b
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x589ffd44a321 - std::panicking::default_hook::he2e9efee79b3dce9
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x589ffcfd18de - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h202f496763929329
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x589ffcfd18de - test::test_main_with_exit_callback::{{closure}}::h805a6913adddaea3
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x589ffd44ab4f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h2883c9d2dbd4e81c
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x589ffd44ab4f - std::panicking::panic_with_hook::hf5648b7cec6bc73e
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x589ffd44a8fa - std::panicking::panic_handler::{{closure}}::h1b2ed3864ba94359
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x589ffd445659 - std::sys::backtrace::__rust_end_short_backtrace::hd0186b2b27f5aaa7
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x589ffd42ca4d - __rustc[f7dae8b92efe1d7a]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x589ffd48a1c0 - core::panicking::panic_fmt::hb5d6b83773432920
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x589ffcd016d3 - integration_test_suite::validate_test_results::he3b44c81aa8610f5
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:36:5
[INFO] [stdout]   20:     0x589ffcd036f4 - integration_test_suite::run_comprehensive_integration_tests::{{closure}}::hc89bdef3af850b54
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:5
[INFO] [stdout]   21:     0x589ffccfff52 - <core::pin::Pin<P> as core::future::future::Future>::poll::ha59b27a83bc690d8
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x589ffccfff0d - <core::pin::Pin<P> as core::future::future::Future>::poll::h67c11256d30b1310
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x589ffccf4a4d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h34453987b8bcb5b0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   24:     0x589ffccf47fb - tokio::task::coop::with_budget::h03484f1be1431618
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x589ffccf47fb - tokio::task::coop::budget::h7c3090aa7446415c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x589ffccf47fb - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h85d29f02a8af88c0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   27:     0x589ffccf1e00 - tokio::runtime::scheduler::current_thread::Context::enter::hf3d69838f693fa9e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   28:     0x589ffccf3ebd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h68956e8eb65a4abf
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   29:     0x589ffccf30f4 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hf901662fc507cc4c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   30:     0x589ffccf078b - tokio::runtime::context::scoped::Scoped<T>::set::he8e5f3a4bd4b95f6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x589ffccf0339 - tokio::runtime::context::set_scheduler::{{closure}}::hd077036a8c8d244d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x589ffcd15e32 - std::thread::local::LocalKey<T>::try_with::h8c8a5ae507263597
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/local.rs:508:12
[INFO] [stdout]   33:     0x589ffcd14d7e - std::thread::local::LocalKey<T>::with::h81eb11cc25ed05c3
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/local.rs:472:20
[INFO] [stdout]   34:     0x589ffccf026d - tokio::runtime::context::set_scheduler::h579e34572831c4da
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x589ffccf2a60 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h0752536b75f89d98
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   36:     0x589ffccf3113 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h0bb5994f4dad0515
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   37:     0x589ffccf0ef0 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h40e4fe02fbf709d3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x589ffccd5fe0 - tokio::runtime::context::runtime::enter_runtime::hd21143b4b6819e5c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x589ffccf0961 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::hbf9dd1ce8d3a3edc
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x589ffcd04d84 - tokio::runtime::runtime::Runtime::block_on_inner::h5d7047adf4b21091
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   41:     0x589ffcd04f4c - tokio::runtime::runtime::Runtime::block_on::hbdc40f37ae230f0d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   42:     0x589ffcd031ff - integration_test_suite::run_comprehensive_integration_tests::he4ab52d0d7d37cf7
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:36
[INFO] [stdout]   43:     0x589ffcd03297 - integration_test_suite::run_comprehensive_integration_tests::{{closure}}::hac7ed3b835dd827f
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:9:47
[INFO] [stdout]   44:     0x589ffcc996e6 - core::ops::function::FnOnce::call_once::hb849181a8645febd
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x589ffcfd174b - core::ops::function::FnOnce::call_once::h3a2d82edd1a9b770
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x589ffcfd174b - test::__rust_begin_short_backtrace::h85d4fe5033219107
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x589ffcfe573d - test::run_test_in_process::{{closure}}::h67b48a81b9c9d7b6
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x589ffcfe573d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7680585480377cb5
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x589ffcfe573d - std::panicking::catch_unwind::do_call::hf71351b2657d4002
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40
[INFO] [stdout]   50:     0x589ffcfe573d - std::panicking::catch_unwind::h7fcb5c0312d9e172
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19
[INFO] [stdout]   51:     0x589ffcfe573d - std::panic::catch_unwind::h5cf3c9bdee894ebe
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x589ffcfe573d - test::run_test_in_process::h1469cb85193a3a25
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x589ffcfe573d - test::run_test::{{closure}}::h59d45b3cd6453d69
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x589ffcfbec84 - test::run_test::{{closure}}::h9baa0c3d443f28c9
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x589ffcfbec84 - std::sys::backtrace::__rust_begin_short_backtrace::h97ea8cee4828663e
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   56:     0x589ffcfc24da - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h5d7539d5f78cee61
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   57:     0x589ffcfc24da - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::he4c551e23c5e9b22
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x589ffcfc24da - std::panicking::catch_unwind::do_call::h522b41a6c157aaba
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40
[INFO] [stdout]   59:     0x589ffcfc24da - std::panicking::catch_unwind::h0efbf72006b8e365
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19
[INFO] [stdout]   60:     0x589ffcfc24da - std::panic::catch_unwind::h3b081041e6c97066
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x589ffcfc24da - std::thread::Builder::spawn_unchecked_::{{closure}}::ha751309815d5d8cf
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   62:     0x589ffcfc24da - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2084b887a5fe25a7
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x589ffd440a4f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3adbd6ccf5f737af
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   64:     0x589ffd440a4f - std::sys::thread::unix::Thread::new::thread_start::hb3dc6483caa1b987
[INFO] [stdout]                                at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   65:     0x76eaa49d5aa4 - <unknown>
[INFO] [stdout]   66:     0x76eaa4a62a64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     run_comprehensive_integration_tests
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 16 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration_test_suite`
[INFO] running `Command { std: "docker" "inspect" "30b32e7b1d09f7254140a0cc60ce4b9b79a189508fefdba3d6968d8eadc98561", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30b32e7b1d09f7254140a0cc60ce4b9b79a189508fefdba3d6968d8eadc98561", kill_on_drop: false }`
[INFO] [stdout] 30b32e7b1d09f7254140a0cc60ce4b9b79a189508fefdba3d6968d8eadc98561
