[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] 7ca4bbd89a83cf9841918ada6b815169ccb54ada [INFO] checking hiddenpath/ai-lib against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiddenpath%2Fai-lib" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-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-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hiddenpath/ai-lib on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded md5 v0.8.0 [INFO] [stderr] Downloaded async-object-pool v0.1.5 [INFO] [stderr] Downloaded basic-cookies v0.1.5 [INFO] [stderr] Downloaded httpmock v0.7.0 [INFO] [stderr] Downloaded serde_json v1.0.144 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dbbfe3a17c7216908b6db8d0fe90f24a98cf90564a428fadc14e89f3cc9c9945 [INFO] running `Command { std: "docker" "start" "-a" "dbbfe3a17c7216908b6db8d0fe90f24a98cf90564a428fadc14e89f3cc9c9945", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dbbfe3a17c7216908b6db8d0fe90f24a98cf90564a428fadc14e89f3cc9c9945", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dbbfe3a17c7216908b6db8d0fe90f24a98cf90564a428fadc14e89f3cc9c9945", kill_on_drop: false }` [INFO] [stdout] dbbfe3a17c7216908b6db8d0fe90f24a98cf90564a428fadc14e89f3cc9c9945 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 405e7301caf0e6210282e4bf55af9544920cc4ef187ffaa630d10ce96314d5e2 [INFO] running `Command { std: "docker" "start" "-a" "405e7301caf0e6210282e4bf55af9544920cc4ef187ffaa630d10ce96314d5e2", kill_on_drop: false }` [INFO] [stderr] Checking bitflags v2.9.3 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling serde_core v1.0.221 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Checking value-bag v1.11.1 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling serde v1.0.221 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling serde_derive v1.0.221 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Checking async-lock v3.4.1 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Compiling indexmap v2.11.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Compiling serde_json v1.0.144 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling ena v0.14.3 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking async-executor v1.13.3 [INFO] [stderr] Checking polling v3.10.0 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking async-io v2.5.0 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking async-signal v0.2.12 [INFO] [stderr] Checking async-global-executor v2.4.1 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling lalrpop-util v0.20.2 [INFO] [stderr] Checking async-process v2.4.0 [INFO] [stderr] Checking url v2.5.6 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Compiling lalrpop v0.20.2 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking eventsource-stream v0.2.3 [INFO] [stderr] Checking serde_regex v1.1.0 [INFO] [stderr] Checking assert-json-diff v2.0.2 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking levenshtein v1.0.5 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking backoff v0.4.0 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking md5 v0.8.0 [INFO] [stderr] Checking hyper v1.7.0 [INFO] [stderr] Checking thiserror v2.0.16 [INFO] [stderr] Compiling async-attributes v1.1.2 [INFO] [stderr] Checking hyper-util v0.1.16 [INFO] [stderr] Checking async-std v1.13.2 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.23 [INFO] [stderr] Checking reqwest-eventsource v0.6.0 [INFO] [stderr] Checking async-object-pool v0.1.5 [INFO] [stderr] Compiling basic-cookies v0.1.5 [INFO] [stderr] Checking httpmock v0.7.0 [INFO] [stderr] Checking ai-lib v0.3.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `health_check` is never used [INFO] [stdout] --> src/provider/utils.rs:199:14 [INFO] [stdout] | [INFO] [stdout] 199 | pub async fn health_check(base_url: &str) -> Result<(), AiLibError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (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: `AiClientBuilder`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stdout] --> examples/interceptors_minimal.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use ai_lib::{AiClientBuilder, Provider, ChatCompletionRequest, Message, 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/interceptors_minimal.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: `Content` [INFO] [stdout] --> examples/upload_and_use_image.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use ai_lib::{AiClient, ChatCompletionRequest, Content, 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: function `health_check` is never used [INFO] [stdout] --> src/provider/utils.rs:199:14 [INFO] [stdout] | [INFO] [stdout] 199 | pub async fn health_check(base_url: &str) -> Result<(), AiLibError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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: `transport` [INFO] [stdout] --> examples/custom_transport_config.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let transport = HttpTransport::new_with_config(cfg)?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport` [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: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 import: `ai_lib::types::common::Content` [INFO] [stdout] --> examples/mistral_features.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | 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: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stdout] --> examples/mistral_features.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [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 import: `ai_lib::types::AiLibError` [INFO] [stdout] --> tests/streaming_golden_cases.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | 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 variable: `expected_type` [INFO] [stdout] --> tests/resilience_tests.rs:278:17 [INFO] [stdout] | [INFO] [stdout] 278 | 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] [stdout] warning: unused import: `ai_lib::types::AiLibError` [INFO] [stdout] --> examples/jsonl_streaming.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | 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 variable: `client` [INFO] [stdout] --> examples/multimodal_usage.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let client = AiClient::new(Provider::OpenAI)?; [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: `mixed_messages` [INFO] [stdout] --> examples/multimodal_usage.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let mixed_messages = vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mixed_messages` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> examples/model_management.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | 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 variable: `client` [INFO] [stdout] --> examples/quickstart.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | 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:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | 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:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | 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:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | 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:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | 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:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | 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 imports: `AiClientBuilder`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stdout] --> examples/interceptors_default.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use ai_lib::{AiClientBuilder, Provider, ChatCompletionRequest, Message, 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/interceptors_default.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::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: `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:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | 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::common::Content` [INFO] [stdout] --> examples/deepseek_features.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | 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: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stdout] --> examples/deepseek_features.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 31s [INFO] running `Command { std: "docker" "inspect" "405e7301caf0e6210282e4bf55af9544920cc4ef187ffaa630d10ce96314d5e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "405e7301caf0e6210282e4bf55af9544920cc4ef187ffaa630d10ce96314d5e2", kill_on_drop: false }` [INFO] [stdout] 405e7301caf0e6210282e4bf55af9544920cc4ef187ffaa630d10ce96314d5e2