[INFO] cloning repository https://github.com/hiddenpath/ai-lib [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hiddenpath/ai-lib" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiddenpath%2Fai-lib", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiddenpath%2Fai-lib'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d7ef789544aecde60f88092bdc8dd8fb90e0da82 [INFO] testing hiddenpath/ai-lib against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiddenpath%2Fai-lib" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/hiddenpath/ai-lib [INFO] finished tweaking git repo https://github.com/hiddenpath/ai-lib [INFO] tweaked toml for git repo https://github.com/hiddenpath/ai-lib written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hiddenpath/ai-lib on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/hiddenpath/ai-lib already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_regex v1.1.0 [INFO] [stderr] Downloaded eventsource-stream v0.2.3 [INFO] [stderr] Downloaded basic-cookies v0.1.5 [INFO] [stderr] Downloaded similar v2.7.0 [INFO] [stderr] Downloaded async-object-pool v0.1.5 [INFO] [stderr] Downloaded async-executor v1.13.3 [INFO] [stderr] Downloaded async-io v2.5.0 [INFO] [stderr] Downloaded httpmock v0.7.0 [INFO] [stderr] Downloaded value-bag v1.11.1 [INFO] [stderr] Downloaded ascii-canvas v3.0.0 [INFO] [stderr] Downloaded url v2.5.6 [INFO] [stderr] Downloaded async-global-executor v2.4.1 [INFO] [stderr] Downloaded async-signal v0.2.12 [INFO] [stderr] Downloaded lalrpop-util v0.20.2 [INFO] [stderr] Downloaded chrono v0.4.42 [INFO] [stderr] Downloaded lalrpop v0.20.2 [INFO] [stderr] Downloaded reqwest-eventsource v0.6.0 [INFO] [stderr] Downloaded async-channel v1.9.0 [INFO] [stderr] Downloaded async-process v2.4.0 [INFO] [stderr] Downloaded md5 v0.8.0 [INFO] [stderr] Downloaded async-std v1.13.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 46f738b7a7af2e5ea852160b4fd948be71de24b367e0a2008069d32c8afab019 [INFO] running `Command { std: "docker" "start" "-a" "46f738b7a7af2e5ea852160b4fd948be71de24b367e0a2008069d32c8afab019", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "46f738b7a7af2e5ea852160b4fd948be71de24b367e0a2008069d32c8afab019", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46f738b7a7af2e5ea852160b4fd948be71de24b367e0a2008069d32c8afab019", kill_on_drop: false }` [INFO] [stdout] 46f738b7a7af2e5ea852160b4fd948be71de24b367e0a2008069d32c8afab019 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 322503e5acdcfa4af77ce91bb22ed0b15c6bb63e80b6bf2ec688fcac68864b72 [INFO] running `Command { std: "docker" "start" "-a" "322503e5acdcfa4af77ce91bb22ed0b15c6bb63e80b6bf2ec688fcac68864b72", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling bitflags v2.9.3 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling indexmap v2.11.0 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling value-bag v1.11.1 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling async-lock v3.4.1 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling ena v0.14.3 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling blocking v1.6.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling async-executor v1.13.3 [INFO] [stderr] Compiling lalrpop-util v0.20.2 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling lalrpop v0.20.2 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling polling v3.10.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling async-io v2.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling async-signal v0.2.12 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling async-process v2.4.0 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling async-global-executor v2.4.1 [INFO] [stderr] Compiling async-attributes v1.1.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 rand_core v0.6.4 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling kv-log-macro v1.0.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling url v2.5.6 [INFO] [stderr] Compiling iri-string v0.7.8 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rustls-pki-types v1.12.0 [INFO] [stderr] Compiling async-std v1.13.2 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling eventsource-stream v0.2.3 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling serde_regex v1.1.0 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling basic-cookies v0.1.5 [INFO] [stderr] Compiling async-object-pool v0.1.5 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling levenshtein v1.0.5 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling backoff v0.4.0 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling httpmock v0.7.0 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.23 [INFO] [stderr] Compiling reqwest-eventsource v0.6.0 [INFO] [stderr] Compiling ai-lib v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 01s [INFO] running `Command { std: "docker" "inspect" "322503e5acdcfa4af77ce91bb22ed0b15c6bb63e80b6bf2ec688fcac68864b72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "322503e5acdcfa4af77ce91bb22ed0b15c6bb63e80b6bf2ec688fcac68864b72", kill_on_drop: false }` [INFO] [stdout] 322503e5acdcfa4af77ce91bb22ed0b15c6bb63e80b6bf2ec688fcac68864b72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 34b776a9f1ff10a249ea0a9d7be5a2a840df5cb6018f57d1a53e98ae71288874 [INFO] running `Command { std: "docker" "start" "-a" "34b776a9f1ff10a249ea0a9d7be5a2a840df5cb6018f57d1a53e98ae71288874", kill_on_drop: false }` [INFO] [stderr] Compiling md5 v0.8.0 [INFO] [stderr] Compiling ai-lib v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stdout] --> examples/deepseek_features.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ai_lib::types::common::Content` [INFO] [stdout] --> examples/deepseek_features.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use ai_lib::types::common::Content; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ai_lib::types::common::Content` [INFO] [stdout] --> examples/builder_pattern.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use ai_lib::types::common::Content; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChatCompletionRequest`, `Message`, and `Role` [INFO] [stdout] --> examples/builder_pattern.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | use ai_lib::{AiClient, AiClientBuilder, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/builder_pattern.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/builder_pattern.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/builder_pattern.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/builder_pattern.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let client = AiClient::builder(Provider::Groq) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/builder_pattern.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let client = AiClientBuilder::new(Provider::Groq).build()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/builder_pattern.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `groq_client` [INFO] [stdout] --> examples/builder_pattern.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let groq_client = AiClientBuilder::new(Provider::Groq) [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_groq_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `deepseek_client` [INFO] [stdout] --> examples/builder_pattern.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let deepseek_client = AiClientBuilder::new(Provider::DeepSeek) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deepseek_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ollama_client` [INFO] [stdout] --> examples/builder_pattern.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let ollama_client = AiClientBuilder::new(Provider::Ollama) [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ollama_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/quickstart.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let client = AiClient::new(Provider::Groq)?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> examples/quickstart.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> examples/quickstart.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let request = ChatCompletionRequest::new( [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `advanced_client` [INFO] [stdout] --> examples/quickstart.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let advanced_client = AiClientBuilder::new(Provider::Groq) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_advanced_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `deepseek_client` [INFO] [stdout] --> examples/quickstart.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let deepseek_client = AiClient::new(Provider::DeepSeek)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deepseek_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ollama_client` [INFO] [stdout] --> examples/quickstart.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let ollama_client = AiClient::new(Provider::Ollama)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ollama_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/resilience_integration_test.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::sleep` [INFO] [stdout] --> tests/resilience_integration_test.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> tests/resilience_integration_test.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | assert!(metrics.total_requests >= 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ai_lib::types::AiLibError` [INFO] [stdout] --> tests/sse_golden_tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use ai_lib::types::AiLibError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ai_lib::api::ChatApi` [INFO] [stdout] --> examples/function_call_exec.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use ai_lib::api::ChatApi; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChatCompletionRequest`, `FunctionCallPolicy`, `Message`, `Role`, and `Tool` [INFO] [stdout] --> examples/function_call_exec.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use ai_lib::types::{ChatCompletionRequest, FunctionCallPolicy, Message, Role, Tool}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ai_lib::AiClient` [INFO] [stdout] --> examples/function_call_exec.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use ai_lib::AiClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ai_lib::Provider` [INFO] [stdout] --> examples/function_call_exec.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use ai_lib::Provider; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> examples/function_call_exec.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stdout] --> examples/mistral_features.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ai_lib::types::common::Content` [INFO] [stdout] --> examples/mistral_features.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use ai_lib::types::common::Content; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/improvements_test.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut invalid_config = [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: variable does not need to be mutable [INFO] [stdout] --> tests/improvements_test.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let mut invalid_config = ProviderConfig::openai_compatible( [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/improvements_test.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let mut invalid_config = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected_type` [INFO] [stdout] --> tests/resilience_tests.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | for (error, expected_type) in errors { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_type` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 29.96s [INFO] running `Command { std: "docker" "inspect" "34b776a9f1ff10a249ea0a9d7be5a2a840df5cb6018f57d1a53e98ae71288874", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34b776a9f1ff10a249ea0a9d7be5a2a840df5cb6018f57d1a53e98ae71288874", kill_on_drop: false }` [INFO] [stdout] 34b776a9f1ff10a249ea0a9d7be5a2a840df5cb6018f57d1a53e98ae71288874 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3755a590336478de52b9136204559073cb0e9b180c78b5ddfe4863ba756b7ecb [INFO] running `Command { std: "docker" "start" "-a" "3755a590336478de52b9136204559073cb0e9b180c78b5ddfe4863ba756b7ecb", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stderr] --> examples/mistral_features.rs:1:14 [INFO] [stderr] | [INFO] [stderr] 1 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ai_lib::types::common::Content` [INFO] [stderr] --> examples/mistral_features.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::types::common::Content; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (example "mistral_features") generated 2 warnings (run `cargo fix --example "mistral_features"` to apply 2 suggestions) [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/improvements_test.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | let mut invalid_config = [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: variable does not need to be mutable [INFO] [stderr] --> tests/improvements_test.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | let mut invalid_config = ProviderConfig::openai_compatible( [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/improvements_test.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | let mut invalid_config = [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (test "improvements_test") generated 3 warnings (run `cargo fix --test "improvements_test"` to apply 3 suggestions) [INFO] [stderr] warning: unused import: `ai_lib::api::ChatApi` [INFO] [stderr] --> examples/function_call_exec.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use ai_lib::api::ChatApi; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ChatCompletionRequest`, `FunctionCallPolicy`, `Message`, `Role`, and `Tool` [INFO] [stderr] --> examples/function_call_exec.rs:2:21 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::types::{ChatCompletionRequest, FunctionCallPolicy, Message, Role, Tool}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ai_lib::AiClient` [INFO] [stderr] --> examples/function_call_exec.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use ai_lib::AiClient; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ai_lib::Provider` [INFO] [stderr] --> examples/function_call_exec.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use ai_lib::Provider; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> examples/function_call_exec.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (example "function_call_exec") generated 5 warnings (run `cargo fix --example "function_call_exec"` to apply 5 suggestions) [INFO] [stderr] warning: unused imports: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stderr] --> examples/deepseek_features.rs:1:14 [INFO] [stderr] | [INFO] [stderr] 1 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ai_lib::types::common::Content` [INFO] [stderr] --> examples/deepseek_features.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::types::common::Content; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (example "deepseek_features") generated 2 warnings (run `cargo fix --example "deepseek_features"` to apply 2 suggestions) [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/quickstart.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | let client = AiClient::new(Provider::Groq)?; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/quickstart.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `request` [INFO] [stderr] --> examples/quickstart.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let request = ChatCompletionRequest::new( [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `advanced_client` [INFO] [stderr] --> examples/quickstart.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | let advanced_client = AiClientBuilder::new(Provider::Groq) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_advanced_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `deepseek_client` [INFO] [stderr] --> examples/quickstart.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | let deepseek_client = AiClient::new(Provider::DeepSeek)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deepseek_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ollama_client` [INFO] [stderr] --> examples/quickstart.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | let ollama_client = AiClient::new(Provider::Ollama)?; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ollama_client` [INFO] [stderr] [INFO] [stderr] warning: unused import: `ai_lib::types::AiLibError` [INFO] [stderr] --> tests/sse_golden_tests.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use ai_lib::types::AiLibError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> tests/resilience_integration_test.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `tokio::time::sleep` [INFO] [stderr] --> tests/resilience_integration_test.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use tokio::time::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> tests/resilience_integration_test.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | assert!(metrics.total_requests >= 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (example "quickstart") generated 6 warnings [INFO] [stderr] warning: `ai-lib` (test "sse_golden_tests") generated 1 warning (run `cargo fix --test "sse_golden_tests"` to apply 1 suggestion) [INFO] [stderr] warning: `ai-lib` (test "resilience_integration_test") generated 3 warnings (run `cargo fix --test "resilience_integration_test"` to apply 2 suggestions) [INFO] [stderr] warning: unused import: `ai_lib::types::common::Content` [INFO] [stderr] --> examples/builder_pattern.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::types::common::Content; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ChatCompletionRequest`, `Message`, and `Role` [INFO] [stderr] --> examples/builder_pattern.rs:3:41 [INFO] [stderr] | [INFO] [stderr] 3 | use ai_lib::{AiClient, AiClientBuilder, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/builder_pattern.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/builder_pattern.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/builder_pattern.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/builder_pattern.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | let client = AiClient::builder(Provider::Groq) [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/builder_pattern.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | let client = AiClientBuilder::new(Provider::Groq).build()?; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/builder_pattern.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | let client = AiClientBuilder::new(Provider::Groq) [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `groq_client` [INFO] [stderr] --> examples/builder_pattern.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | let groq_client = AiClientBuilder::new(Provider::Groq) [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_groq_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `deepseek_client` [INFO] [stderr] --> examples/builder_pattern.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | let deepseek_client = AiClientBuilder::new(Provider::DeepSeek) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deepseek_client` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ollama_client` [INFO] [stderr] --> examples/builder_pattern.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | let ollama_client = AiClientBuilder::new(Provider::Ollama) [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ollama_client` [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (example "builder_pattern") generated 11 warnings (run `cargo fix --example "builder_pattern"` to apply 2 suggestions) [INFO] [stderr] warning: unused variable: `expected_type` [INFO] [stderr] --> tests/resilience_tests.rs:251:17 [INFO] [stderr] | [INFO] [stderr] 251 | for (error, expected_type) in errors { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_type` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (test "resilience_tests") generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ai_lib-7f5f0961d759725d) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test provider::classification::tests::test_provider_arrays ... ok [INFO] [stdout] test provider::generic::legacy_sse_tests::legacy_event_sequence_non_ascii ... ok [INFO] [stdout] test provider::utils::tests::parse_upload_response_id ... ok [INFO] [stdout] test provider::utils::tests::parse_upload_response_url ... ok [INFO] [stdout] test provider::classification::tests::test_provider_classification ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/architecture_test.rs (/opt/rustwide/target/debug/deps/architecture_test-4872d0d93ac0f5d0) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test tests::test_provider_enum ... ok [INFO] [stdout] test tests::test_request_builder ... ok [INFO] [stdout] test tests::test_role_enum ... ok [INFO] [stdout] test tests::test_client_creation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running tests/ascii_horse_flow_tests.rs (/opt/rustwide/target/debug/deps/ascii_horse_flow_tests-8333f8637ba9aa7a) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/batch_processing_test.rs (/opt/rustwide/target/debug/deps/batch_processing_test-12407584cb08bd51) [INFO] [stdout] test tests::tool_flow_appends_tool_response ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test tests::test_batch_result_operations ... ok [INFO] [stdout] test tests::test_empty_batch ... ok [INFO] [stdout] test tests::test_batch_processing_sequential ... ok [INFO] [stdout] test tests::test_batch_processing_concurrent ... ok [INFO] [stdout] test tests::test_batch_processing_smart ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/context_control_tests.rs (/opt/rustwide/target/debug/deps/context_control_tests-1fcfcd8526ee8f84) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/cost_and_routing.rs (/opt/rustwide/target/debug/deps/cost_and_routing-e7d1eb9e2418fa70) [INFO] [stdout] test tests::ignore_previous_keeps_system_and_last ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/function_call_integration.rs (/opt/rustwide/target/debug/deps/function_call_integration-00e397598c865eb8) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test openai_adapter_parses_function_call_from_response ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running tests/function_call_tests.rs (/opt/rustwide/target/debug/deps/function_call_tests-d412f67ae415b8de) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test generic_adapter_parses_function_call_stringified_arguments ... ok [INFO] [stdout] test generic_adapter_parses_function_call_object_arguments ... ok [INFO] [stdout] test chat_request_serializes_functions_field ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stderr] Running tests/generic_adapter_upload_tests.rs (/opt/rustwide/target/debug/deps/generic_adapter_upload_tests-0679bc41a75fa5c5) [INFO] [stderr] Running tests/improvements_test.rs (/opt/rustwide/target/debug/deps/improvements_test-22ca35e4a2f0c164) [INFO] [stdout] test generic_adapter_upload_failure_falls_back_to_inline ... ok [INFO] [stdout] test generic_adapter_uploads_image_and_returns_file_id ... ok [INFO] [stdout] test generic_adapter_size_boundary_respects_upload_size_limit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test tests::test_file_utils ... ok [INFO] [stdout] test tests::test_field_mapping_validation ... ok [INFO] [stdout] test tests::test_config_url_methods ... ok [INFO] [stdout] test tests::test_provider_config_validation ... ok [INFO] [stderr] Running tests/legacy_sse_sequence.rs (/opt/rustwide/target/debug/deps/legacy_sse_sequence-831bcbe5e6b50a40) [INFO] [stdout] test tests::test_error_handling ... ok [INFO] [stdout] test tests::test_metrics_ext ... ok [INFO] [stdout] test tests::test_enhanced_metrics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/metrics_tests.rs (/opt/rustwide/target/debug/deps/metrics_tests-bf49931c7db022fd) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test legacy_event_sequence_non_ascii_doc ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stderr] Running tests/multimodal_file_tests.rs (/opt/rustwide/target/debug/deps/multimodal_file_tests-96bae1d01829e5b3) [INFO] [stdout] test generic_adapter_calls_metrics ... ok [INFO] [stdout] test openai_adapter_calls_metrics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test tests::save_read_remove_roundtrip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/openai_adapter_upload_tests.rs (/opt/rustwide/target/debug/deps/openai_adapter_upload_tests-6c2c92b34cf03f55) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test openai_adapter_uploads_image_and_includes_file_id_in_request ... ok [INFO] [stdout] test openai_adapter_uploads_image_and_includes_url_in_request ... ok [INFO] [stdout] test openai_adapter_upload_failure_falls_back_to_inline_data ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/openai_upload_tests.rs (/opt/rustwide/target/debug/deps/openai_upload_tests-7d8c653069ad5338) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test upload_returns_id ... ok [INFO] [stdout] test upload_transport_failure_propagates ... ok [INFO] [stdout] test upload_returns_url ... ok [INFO] [stdout] test upload_missing_url_or_id_returns_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/override_precedence_tests.rs (/opt/rustwide/target/debug/deps/override_precedence_tests-77102f2a3ab29add) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test disable_proxy_flag_applied ... ok [INFO] [stdout] test base_url_override_openai ... ok [INFO] [stdout] test explicit_api_key_overrides_env_openai ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/resilience_integration_test.rs (/opt/rustwide/target/debug/deps/resilience_integration_test-f90660b536e16853) [INFO] [stdout] running 9 tests [INFO] [stderr] Running tests/resilience_tests.rs (/opt/rustwide/target/debug/deps/resilience_tests-a02fd14cf1f56b25) [INFO] [stdout] test test_adaptive_rate_limiting ... ok [INFO] [stdout] test test_circuit_breaker_with_rate_limiter ... ok [INFO] [stdout] test test_circuit_breaker_state_transitions ... ok [INFO] [stdout] test test_resilience_configuration_presets ... ok [INFO] [stdout] test test_rate_limiter_metrics ... ok [INFO] [stdout] test test_error_pattern_analysis ... ok [INFO] [stdout] test test_resilience_features_integration ... ok [INFO] [stdout] test test_suggested_actions ... ok [INFO] [stdout] test test_error_handling_with_recovery ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test test_circuit_breaker_basic_functionality ... ok [INFO] [stdout] test test_circuit_breaker_config_presets ... ok [INFO] [stdout] test test_circuit_breaker_force_operations ... ok [INFO] [stdout] test test_error_context_with_retry ... ok [INFO] [stdout] test test_error_recovery_manager_error_handling ... ok [INFO] [stdout] test test_error_recovery_manager_basic_functionality ... ok [INFO] [stdout] test test_error_context_creation ... ok [INFO] [stdout] test test_error_recovery_manager_multiple_errors ... ok [INFO] [stdout] test test_token_bucket_adaptive_rate ... ok [INFO] [stdout] test test_error_recovery_manager_reset ... ok [INFO] [stdout] test test_token_bucket_basic_functionality ... ok [INFO] [stdout] test test_token_bucket_config_presets ... ok [INFO] [stdout] test test_suggested_actions ... ok [INFO] [stdout] test test_token_bucket_metrics ... ok [INFO] [stdout] test test_token_bucket_enable_disable ... ok [INFO] [stderr] Running tests/sse_golden_tests.rs (/opt/rustwide/target/debug/deps/sse_golden_tests-474a92460106a29d) [INFO] [stdout] test test_circuit_breaker_metrics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Running tests/sse_md5_consistency.rs (/opt/rustwide/target/debug/deps/sse_md5_consistency-6ebdd72bf62750c7) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/sse_parser_tests.rs (/opt/rustwide/target/debug/deps/sse_parser_tests-fb8d3ae8168340a0) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/sse_regression.rs (/opt/rustwide/target/debug/deps/sse_regression-348834b675508efc) [INFO] [stderr] Running tests/transport_tests.rs (/opt/rustwide/target/debug/deps/transport_tests-28bc8b8abe3c6b37) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test can_construct_transport_from_reqwest_client ... ok [INFO] [stderr] Doc-tests ai_lib [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test src/client.rs - client::AiClient::new (line 210) ... ok [INFO] [stdout] test src/client.rs - client::AiClient (line 141) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::chat_completion_batch (line 645) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::for_development (line 1256) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::switch_provider (line 780) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::builder (line 476) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::list_models (line 722) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_smart_defaults (line 1212) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::for_production (line 1234) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_default_chat_model (line 1168) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::without_proxy (line 1109) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder (line 993) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_default_multimodal_model (line 1190) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_proxy (line 1082) ... ok [INFO] [stdout] test src/lib.rs - (line 7) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.76s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3755a590336478de52b9136204559073cb0e9b180c78b5ddfe4863ba756b7ecb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3755a590336478de52b9136204559073cb0e9b180c78b5ddfe4863ba756b7ecb", kill_on_drop: false }` [INFO] [stdout] 3755a590336478de52b9136204559073cb0e9b180c78b5ddfe4863ba756b7ecb