[INFO] fetching crate ai-lib 0.3.4... [INFO] testing ai-lib-0.3.4 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate ai-lib 0.3.4 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate ai-lib 0.3.4 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate ai-lib 0.3.4 [INFO] tweaked toml for crates.io crate ai-lib 0.3.4 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ai-lib 0.3.4 on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ai-lib 0.3.4 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1331c6fe47341c936875d05b5110b48d0d91bb0eadd387436d6ee6c38b8f04fa [INFO] running `Command { std: "docker" "start" "-a" "1331c6fe47341c936875d05b5110b48d0d91bb0eadd387436d6ee6c38b8f04fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1331c6fe47341c936875d05b5110b48d0d91bb0eadd387436d6ee6c38b8f04fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1331c6fe47341c936875d05b5110b48d0d91bb0eadd387436d6ee6c38b8f04fa", kill_on_drop: false }` [INFO] [stdout] 1331c6fe47341c936875d05b5110b48d0d91bb0eadd387436d6ee6c38b8f04fa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ceb83da42c14dd74359d06c96aa52d0cf4adb1640dee9f2b695e013006432095 [INFO] running `Command { std: "docker" "start" "-a" "ceb83da42c14dd74359d06c96aa52d0cf4adb1640dee9f2b695e013006432095", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [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 slab v0.4.11 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling bitflags v2.9.3 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling serde_core v1.0.221 [INFO] [stderr] Compiling indexmap v2.11.0 [INFO] [stderr] Compiling value-bag v1.11.1 [INFO] [stderr] Compiling litemap v0.8.0 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling writeable v0.6.1 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling serde v1.0.221 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling async-lock v3.4.1 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling serde_json v1.0.144 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling ena v0.14.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling blocking v1.6.2 [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 zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.221 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling polling v3.10.0 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling async-io v2.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling lalrpop-util v0.20.2 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling lalrpop v0.20.2 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling async-signal v0.2.12 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling async-executor v1.13.3 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling url v2.5.6 [INFO] [stderr] Compiling async-global-executor v2.4.1 [INFO] [stderr] Compiling async-process v2.4.0 [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 async-attributes v1.1.2 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling kv-log-macro v1.0.7 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling rustls-pki-types v1.12.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling async-std v1.13.2 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling socket2 v0.5.10 [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 rand v0.8.5 [INFO] [stderr] Compiling async-object-pool v0.1.5 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling serde_regex v1.1.0 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [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 instant v0.1.13 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling levenshtein v1.0.5 [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 hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.23 [INFO] [stderr] Compiling basic-cookies v0.1.5 [INFO] [stderr] Compiling httpmock v0.7.0 [INFO] [stderr] Compiling reqwest-eventsource v0.6.0 [INFO] [stderr] Compiling 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 02s [INFO] running `Command { std: "docker" "inspect" "ceb83da42c14dd74359d06c96aa52d0cf4adb1640dee9f2b695e013006432095", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ceb83da42c14dd74359d06c96aa52d0cf4adb1640dee9f2b695e013006432095", kill_on_drop: false }` [INFO] [stdout] ceb83da42c14dd74359d06c96aa52d0cf4adb1640dee9f2b695e013006432095 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e796a43393c5530793d502ca264f6f4c584c105c08e57815f419ec88fd1808c3 [INFO] running `Command { std: "docker" "start" "-a" "e796a43393c5530793d502ca264f6f4c584c105c08e57815f419ec88fd1808c3", kill_on_drop: false }` [INFO] [stderr] Compiling md5 v0.8.0 [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] [stderr] Compiling ai-lib v0.3.4 (/opt/rustwide/workdir) [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: 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] [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/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 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 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 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 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: 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: `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: 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 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: `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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 27.49s [INFO] running `Command { std: "docker" "inspect" "e796a43393c5530793d502ca264f6f4c584c105c08e57815f419ec88fd1808c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e796a43393c5530793d502ca264f6f4c584c105c08e57815f419ec88fd1808c3", kill_on_drop: false }` [INFO] [stdout] e796a43393c5530793d502ca264f6f4c584c105c08e57815f419ec88fd1808c3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 50be5f82fa3917f646051613884e7f9b428648ee93cab5978f1e32dd2ddbefa9 [INFO] running `Command { std: "docker" "start" "-a" "50be5f82fa3917f646051613884e7f9b428648ee93cab5978f1e32dd2ddbefa9", kill_on_drop: false }` [INFO] [stderr] warning: function `health_check` is never used [INFO] [stderr] --> src/provider/utils.rs:199:14 [INFO] [stderr] | [INFO] [stderr] 199 | pub async fn health_check(base_url: &str) -> Result<(), AiLibError> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (lib) generated 1 warning [INFO] [stderr] warning: `ai-lib` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] warning: unused import: `ai_lib::types::AiLibError` [INFO] [stderr] --> examples/jsonl_streaming.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | 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: `ai-lib` (example "jsonl_streaming") generated 1 warning (run `cargo fix --example "jsonl_streaming"` to apply 1 suggestion) [INFO] [stderr] warning: unused import: `Content` [INFO] [stderr] --> examples/upload_and_use_image.rs:1:47 [INFO] [stderr] | [INFO] [stderr] 1 | use ai_lib::{AiClient, ChatCompletionRequest, Content, 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: `ai-lib` (example "upload_and_use_image") generated 1 warning (run `cargo fix --example "upload_and_use_image"` to apply 1 suggestion) [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: 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: unused import: `std::time::Duration` [INFO] [stderr] --> examples/model_management.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | 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 variable: `transport` [INFO] [stderr] --> examples/custom_transport_config.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let transport = HttpTransport::new_with_config(cfg)?; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AiClientBuilder`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stderr] --> examples/interceptors_default.rs:1:14 [INFO] [stderr] | [INFO] [stderr] 1 | use ai_lib::{AiClientBuilder, Provider, ChatCompletionRequest, Message, 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/interceptors_default.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::types::common::Content; [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: `ai-lib` (example "builder_pattern") generated 11 warnings (run `cargo fix --example "builder_pattern"` to apply 2 suggestions) [INFO] [stderr] warning: `ai-lib` (example "model_management") generated 1 warning (run `cargo fix --example "model_management"` to apply 1 suggestion) [INFO] [stderr] warning: `ai-lib` (example "custom_transport_config") generated 1 warning [INFO] [stderr] warning: `ai-lib` (example "interceptors_default") generated 2 warnings (run `cargo fix --example "interceptors_default"` 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: `ai-lib` (example "quickstart") generated 6 warnings [INFO] [stderr] warning: unused variable: `client` [INFO] [stderr] --> examples/multimodal_usage.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | let client = AiClient::new(Provider::OpenAI)?; [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: `mixed_messages` [INFO] [stderr] --> examples/multimodal_usage.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let mixed_messages = vec![ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mixed_messages` [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AiClientBuilder`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stderr] --> examples/interceptors_minimal.rs:1:14 [INFO] [stderr] | [INFO] [stderr] 1 | use ai_lib::{AiClientBuilder, Provider, ChatCompletionRequest, Message, 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/interceptors_minimal.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::types::common::Content; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ai-lib` (example "multimodal_usage") generated 2 warnings [INFO] [stderr] warning: `ai-lib` (example "interceptors_minimal") generated 2 warnings (run `cargo fix --example "interceptors_minimal"` to apply 2 suggestions) [INFO] [stderr] warning: unused import: `ai_lib::types::common::Content` [INFO] [stderr] --> examples/deepseek_features.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | 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: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stderr] --> examples/deepseek_features.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ai_lib::types::common::Content` [INFO] [stderr] --> examples/mistral_features.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | 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: `AiClient`, `ChatCompletionRequest`, `Message`, `Provider`, and `Role` [INFO] [stderr] --> examples/mistral_features.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use ai_lib::{AiClient, ChatCompletionRequest, Message, Provider, Role}; [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: `ai-lib` (example "mistral_features") generated 2 warnings (run `cargo fix --example "mistral_features"` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ai_lib-60d405ab2aa50f1a) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test provider::classification::tests::test_provider_arrays ... ok [INFO] [stdout] test provider::classification::tests::test_provider_classification ... ok [INFO] [stdout] test provider::cohere::tests::split_text_handles_multibyte_without_panic ... ok [INFO] [stdout] test provider::utils::tests::parse_upload_response_url ... 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] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests ai_lib [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test src/client.rs - client::AiClient::chat_completion_stream (line 853) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::list_models (line 1156) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::switch_provider (line 1214) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::chat_completion (line 675) ... FAILED [INFO] [stdout] test src/client.rs - client::AiClient (line 173) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::builder (line 577) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::new (line 248) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::chat_completion_batch (line 1079) ... ok [INFO] [stdout] test src/client.rs - client::AiClient::with_failover (line 281) ... FAILED [INFO] [stdout] test src/client.rs - client::AiClientBuilder::for_development (line 1801) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::for_production (line 1779) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_default_chat_model (line 1713) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_default_multimodal_model (line 1735) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder (line 1508) ... ok [INFO] [stdout] test src/lib.rs - (line 8) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::without_proxy (line 1628) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_smart_defaults (line 1757) ... ok [INFO] [stdout] test src/client.rs - client::AiClientBuilder::with_proxy (line 1601) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/client.rs - client::AiClient::chat_completion (line 675) stdout ---- [INFO] [stdout] Test executable failed (exit status: 101). [INFO] [stdout] [INFO] [stdout] stderr: [INFO] [stdout] [INFO] [stdout] thread 'main' (193) panicked at src/client.rs:30:39: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: AuthenticationError("OPENAI_API_KEY environment variable not set") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x60c33c4e0242 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x60c33c4e0242 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x60c33c4e0242 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x60c33c4e0242 - ::fmt::h67edf0e4d33c343c [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x60c33c4f157f - core::fmt::rt::Argument::fmt::hef94184842aeafdd [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x60c33c4f157f - core::fmt::write::hcf0c66b48a8fa606 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x60c33c4bab21 - std::io::default_write_fmt::h1ecb8c7cfa7da481 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x60c33c4bab21 - std::io::Write::write_fmt::h051fe4a9e4fdbf48 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x60c33c4c1a62 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x60c33c4c435f - std::panicking::default_hook::{{closure}}::h91001850288db5f7 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x60c33c4c41b9 - std::panicking::default_hook::h2346dbb704ef5512 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:328:9 [INFO] [stdout] 11: 0x60c33c4c4a95 - std::panicking::panic_with_hook::hd2b063a6090d23a4 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:834:13 [INFO] [stdout] 12: 0x60c33c4c487a - std::panicking::panic_handler::{{closure}}::he666d95f139a333e [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:707:13 [INFO] [stdout] 13: 0x60c33c4c1b99 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 14: 0x60c33c4aeb1d - __rustc[1d67440d6e82e4f]::rust_begin_unwind [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5 [INFO] [stdout] 15: 0x60c33c4fa250 - core::panicking::panic_fmt::h420ddb7fd73daf53 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14 [INFO] [stdout] 16: 0x60c33c4f9726 - core::result::unwrap_failed::hdde076be853d034f [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/result.rs:1855:5 [INFO] [stdout] 17: 0x60c33bf9352f - rust_out::main::h909c389308a13d94 [INFO] [stdout] 18: 0x60c33bf92a93 - core::ops::function::FnOnce::call_once::he80aaf16098e337a [INFO] [stdout] 19: 0x60c33bf92a36 - std::sys::backtrace::__rust_begin_short_backtrace::hd4f5856814720a68 [INFO] [stdout] 20: 0x60c33bf92a19 - std::rt::lang_start::{{closure}}::hdd522a24cafb4b4b [INFO] [stdout] 21: 0x60c33c4bc250 - core::ops::function::impls:: for &F>::call_once::h4967fb77e0dfb65c [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:287:21 [INFO] [stdout] 22: 0x60c33c4bc250 - std::panicking::catch_unwind::do_call::hf7e87675c3e14c23 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40 [INFO] [stdout] 23: 0x60c33c4bc250 - std::panicking::catch_unwind::h26f0e342004b5114 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19 [INFO] [stdout] 24: 0x60c33c4bc250 - std::panic::catch_unwind::h9ee33ca17775d897 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14 [INFO] [stdout] 25: 0x60c33c4bc250 - std::rt::lang_start_internal::{{closure}}::h243ba3495fa13cf8 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/rt.rs:175:24 [INFO] [stdout] 26: 0x60c33c4bc250 - std::panicking::catch_unwind::do_call::h819db0a7788e7259 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x60c33c4bc250 - std::panicking::catch_unwind::h23e08fb4a7b9f405 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x60c33c4bc250 - std::panic::catch_unwind::h7ca3d9eabb6135ff [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x60c33c4bc250 - std::rt::lang_start_internal::h06ad7395f4fda8d7 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/rt.rs:171:5 [INFO] [stdout] 30: 0x60c33bf92a01 - std::rt::lang_start::h5d51bffdfd88737a [INFO] [stdout] 31: 0x60c33bf93a35 - main [INFO] [stdout] 32: 0x7dacb11321ca - [INFO] [stdout] 33: 0x7dacb113228b - __libc_start_main [INFO] [stdout] 34: 0x60c33bf92915 - _start [INFO] [stdout] 35: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ---- src/client.rs - client::AiClient::with_failover (line 281) stdout ---- [INFO] [stdout] Test executable failed (exit status: 101). [INFO] [stdout] [INFO] [stdout] stderr: [INFO] [stdout] [INFO] [stdout] thread 'main' (344) panicked at src/client.rs:24:39: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: AuthenticationError("OPENAI_API_KEY environment variable not set") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x60a1cb619d92 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x60a1cb619d92 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x60a1cb619d92 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x60a1cb619d92 - ::fmt::h67edf0e4d33c343c [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x60a1cb62b0cf - core::fmt::rt::Argument::fmt::hef94184842aeafdd [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x60a1cb62b0cf - core::fmt::write::hcf0c66b48a8fa606 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x60a1cb5f4671 - std::io::default_write_fmt::h1ecb8c7cfa7da481 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x60a1cb5f4671 - std::io::Write::write_fmt::h051fe4a9e4fdbf48 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x60a1cb5fb5b2 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x60a1cb5fdeaf - std::panicking::default_hook::{{closure}}::h91001850288db5f7 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x60a1cb5fdd09 - std::panicking::default_hook::h2346dbb704ef5512 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:328:9 [INFO] [stdout] 11: 0x60a1cb5fe5e5 - std::panicking::panic_with_hook::hd2b063a6090d23a4 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:834:13 [INFO] [stdout] 12: 0x60a1cb5fe3ca - std::panicking::panic_handler::{{closure}}::he666d95f139a333e [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:707:13 [INFO] [stdout] 13: 0x60a1cb5fb6e9 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 14: 0x60a1cb5e866d - __rustc[1d67440d6e82e4f]::rust_begin_unwind [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5 [INFO] [stdout] 15: 0x60a1cb633da0 - core::panicking::panic_fmt::h420ddb7fd73daf53 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14 [INFO] [stdout] 16: 0x60a1cb633276 - core::result::unwrap_failed::hdde076be853d034f [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/result.rs:1855:5 [INFO] [stdout] 17: 0x60a1cb0cd2af - rust_out::main::h909c389308a13d94 [INFO] [stdout] 18: 0x60a1cb0cc983 - core::ops::function::FnOnce::call_once::he80aaf16098e337a [INFO] [stdout] 19: 0x60a1cb0cc926 - std::sys::backtrace::__rust_begin_short_backtrace::hd4f5856814720a68 [INFO] [stdout] 20: 0x60a1cb0cc909 - std::rt::lang_start::{{closure}}::hdd522a24cafb4b4b [INFO] [stdout] 21: 0x60a1cb5f5da0 - core::ops::function::impls:: for &F>::call_once::h4967fb77e0dfb65c [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:287:21 [INFO] [stdout] 22: 0x60a1cb5f5da0 - std::panicking::catch_unwind::do_call::hf7e87675c3e14c23 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40 [INFO] [stdout] 23: 0x60a1cb5f5da0 - std::panicking::catch_unwind::h26f0e342004b5114 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19 [INFO] [stdout] 24: 0x60a1cb5f5da0 - std::panic::catch_unwind::h9ee33ca17775d897 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14 [INFO] [stdout] 25: 0x60a1cb5f5da0 - std::rt::lang_start_internal::{{closure}}::h243ba3495fa13cf8 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/rt.rs:175:24 [INFO] [stdout] 26: 0x60a1cb5f5da0 - std::panicking::catch_unwind::do_call::h819db0a7788e7259 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x60a1cb5f5da0 - std::panicking::catch_unwind::h23e08fb4a7b9f405 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x60a1cb5f5da0 - std::panic::catch_unwind::h7ca3d9eabb6135ff [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x60a1cb5f5da0 - std::rt::lang_start_internal::h06ad7395f4fda8d7 [INFO] [stdout] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/rt.rs:171:5 [INFO] [stdout] 30: 0x60a1cb0cc8f1 - std::rt::lang_start::h5d51bffdfd88737a [INFO] [stdout] 31: 0x60a1cb0cd655 - main [INFO] [stdout] 32: 0x707004dd21ca - [INFO] [stdout] 33: 0x707004dd228b - __libc_start_main [INFO] [stdout] 34: 0x60a1cb0cc805 - _start [INFO] [stdout] 35: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/client.rs - client::AiClient::chat_completion (line 675) [INFO] [stdout] src/client.rs - client::AiClient::with_failover (line 281) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 16 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.20s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "50be5f82fa3917f646051613884e7f9b428648ee93cab5978f1e32dd2ddbefa9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50be5f82fa3917f646051613884e7f9b428648ee93cab5978f1e32dd2ddbefa9", kill_on_drop: false }` [INFO] [stdout] 50be5f82fa3917f646051613884e7f9b428648ee93cab5978f1e32dd2ddbefa9