[INFO] fetching crate radkit 0.0.2... [INFO] testing radkit-0.0.2 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate radkit 0.0.2 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate radkit 0.0.2 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate radkit 0.0.2 [INFO] tweaked toml for crates.io crate radkit 0.0.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate radkit 0.0.2 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 radkit 0.0.2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 1044ddd2d641c18678f0c40f49abc61089386bdd4e2ef58d6d893c38039ca62c [INFO] running `Command { std: "docker" "start" "-a" "1044ddd2d641c18678f0c40f49abc61089386bdd4e2ef58d6d893c38039ca62c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1044ddd2d641c18678f0c40f49abc61089386bdd4e2ef58d6d893c38039ca62c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1044ddd2d641c18678f0c40f49abc61089386bdd4e2ef58d6d893c38039ca62c", kill_on_drop: false }` [INFO] [stdout] 1044ddd2d641c18678f0c40f49abc61089386bdd4e2ef58d6d893c38039ca62c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] b22f40f1b94d83e72eddff8a79e2bcc15fdddfd151e86f4d48ac90d51e27c8fb [INFO] running `Command { std: "docker" "start" "-a" "b22f40f1b94d83e72eddff8a79e2bcc15fdddfd151e86f4d48ac90d51e27c8fb", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling bitflags v2.9.3 [INFO] [stderr] Compiling indexmap v2.11.0 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling rustls v0.23.31 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling rustls-pki-types v1.12.0 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling webpki-roots v1.0.2 [INFO] [stderr] Compiling iri-string v0.7.8 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling rustls-webpki v0.103.4 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling ref-cast-impl v1.0.24 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling ref-cast v1.0.24 [INFO] [stderr] Compiling schemars_derive v1.0.4 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling sse-stream v0.2.1 [INFO] [stderr] Compiling rmcp-macros v0.6.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling process-wrap v8.2.1 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling tokio-rustls v0.26.2 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling uuid v1.18.0 [INFO] [stderr] Compiling schemars v1.0.4 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.23 [INFO] [stderr] Compiling rmcp v0.6.3 [INFO] [stderr] Compiling radkit v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: enum `ToolChoice` is never used [INFO] [stdout] --> src/models/openai_llm.rs:51:6 [INFO] [stdout] | [INFO] [stdout] 51 | enum ToolChoice { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolChoiceFunction` is never constructed [INFO] [stdout] --> src/models/openai_llm.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | struct ToolChoiceFunction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `object`, `created`, `model`, and `usage` are never read [INFO] [stdout] --> src/models/openai_llm.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | struct OpenAIResponse { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 129 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 130 | object: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 131 | created: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 132 | model: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 133 | choices: Vec, [INFO] [stdout] 134 | usage: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenAIResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index` and `finish_reason` are never read [INFO] [stdout] --> src/models/openai_llm.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 138 | struct Choice { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 139 | index: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 140 | message: OpenAIMessage, [INFO] [stdout] 141 | finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Choice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read [INFO] [stdout] --> src/models/openai_llm.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 145 | struct Usage { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 146 | prompt_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 147 | completion_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 148 | total_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Usage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `error_type` and `code` are never read [INFO] [stdout] --> src/models/openai_llm.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct OpenAIErrorDetail { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 160 | error_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 161 | code: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenAIErrorDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `object`, `created`, and `model` are never read [INFO] [stdout] --> src/models/openai_llm.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 166 | struct StreamResponse { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 167 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 168 | object: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 169 | created: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 170 | model: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/models/openai_llm.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 175 | struct StreamChoice { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 176 | index: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamChoice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `role` is never read [INFO] [stdout] --> src/models/openai_llm.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 182 | struct Delta { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 183 | role: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Delta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index` and `tool_type` are never read [INFO] [stdout] --> src/models/openai_llm.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 189 | struct ToolCallDelta { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 190 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | tool_type: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolCallDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/agents/agent.rs:434:26 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 28s [INFO] running `Command { std: "docker" "inspect" "b22f40f1b94d83e72eddff8a79e2bcc15fdddfd151e86f4d48ac90d51e27c8fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b22f40f1b94d83e72eddff8a79e2bcc15fdddfd151e86f4d48ac90d51e27c8fb", kill_on_drop: false }` [INFO] [stdout] b22f40f1b94d83e72eddff8a79e2bcc15fdddfd151e86f4d48ac90d51e27c8fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] f1baa923e4bf34341c2a210447f273ee88824899af052aa1bf2814d1f9025316 [INFO] running `Command { std: "docker" "start" "-a" "f1baa923e4bf34341c2a210447f273ee88824899af052aa1bf2814d1f9025316", kill_on_drop: false }` [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stdout] warning: enum `ToolChoice` is never used [INFO] [stdout] --> src/models/openai_llm.rs:51:6 [INFO] [stdout] | [INFO] [stdout] 51 | enum ToolChoice { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolChoiceFunction` is never constructed [INFO] [stdout] --> src/models/openai_llm.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | struct ToolChoiceFunction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `object`, `created`, `model`, and `usage` are never read [INFO] [stdout] --> src/models/openai_llm.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | struct OpenAIResponse { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 129 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 130 | object: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 131 | created: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 132 | model: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 133 | choices: Vec, [INFO] [stdout] 134 | usage: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenAIResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index` and `finish_reason` are never read [INFO] [stdout] --> src/models/openai_llm.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 138 | struct Choice { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 139 | index: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 140 | message: OpenAIMessage, [INFO] [stdout] 141 | finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Choice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read [INFO] [stdout] --> src/models/openai_llm.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 145 | struct Usage { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 146 | prompt_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 147 | completion_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 148 | total_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Usage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `error_type` and `code` are never read [INFO] [stdout] --> src/models/openai_llm.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct OpenAIErrorDetail { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 160 | error_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 161 | code: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenAIErrorDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `object`, `created`, and `model` are never read [INFO] [stdout] --> src/models/openai_llm.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 166 | struct StreamResponse { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 167 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 168 | object: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 169 | created: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 170 | model: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/models/openai_llm.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 175 | struct StreamChoice { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 176 | index: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamChoice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `role` is never read [INFO] [stdout] --> src/models/openai_llm.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 182 | struct Delta { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 183 | role: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Delta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index` and `tool_type` are never read [INFO] [stdout] --> src/models/openai_llm.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 189 | struct ToolCallDelta { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 190 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | tool_type: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolCallDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/agents/agent.rs:434:26 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling radkit v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `mentioned_memory` is assigned to, but never used [INFO] [stdout] --> tests/openai_multi_turn.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | let mut mentioned_memory = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_mentioned_memory` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `mentioned_counter` is assigned to, but never used [INFO] [stdout] --> tests/openai_multi_turn.rs:381:13 [INFO] [stdout] | [INFO] [stdout] 381 | let mut mentioned_counter = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_mentioned_counter` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mentioned_memory` is never read [INFO] [stdout] --> tests/openai_multi_turn.rs:389:25 [INFO] [stdout] | [INFO] [stdout] 389 | mentioned_memory = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mentioned_counter` is never read [INFO] [stdout] --> tests/openai_multi_turn.rs:393:25 [INFO] [stdout] | [INFO] [stdout] 393 | mentioned_counter = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn get_gemini_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn get_gemini_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn get_gemini_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> tests/mcp_weather_simple.rs:442:13 [INFO] [stdout] | [INFO] [stdout] 442 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> tests/mcp_weather_simple.rs:442:13 [INFO] [stdout] | [INFO] [stdout] 392 | SendStreamingMessageResult::Message(message) => { [INFO] [stdout] | -------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 425 | SendStreamingMessageResult::Task(task) => { [INFO] [stdout] | -------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 434 | SendStreamingMessageResult::TaskStatusUpdate(status_update) => { [INFO] [stdout] | ----------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 438 | SendStreamingMessageResult::TaskArtifactUpdate(artifact_update) => { [INFO] [stdout] | --------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 442 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn get_gemini_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn get_gemini_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn get_gemini_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anthropic_key` is never used [INFO] [stdout] --> tests/common/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_gemini_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn has_openai_key() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_gemini_key` is never used [INFO] [stdout] --> tests/common/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn get_gemini_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_openai_key` is never used [INFO] [stdout] --> tests/common/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_openai_key() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ToolChoice` is never used [INFO] [stdout] --> src/models/openai_llm.rs:51:6 [INFO] [stdout] | [INFO] [stdout] 51 | enum ToolChoice { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolChoiceFunction` is never constructed [INFO] [stdout] --> src/models/openai_llm.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | struct ToolChoiceFunction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `object`, `created`, `model`, and `usage` are never read [INFO] [stdout] --> src/models/openai_llm.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | struct OpenAIResponse { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 129 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 130 | object: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 131 | created: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 132 | model: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 133 | choices: Vec, [INFO] [stdout] 134 | usage: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenAIResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index` and `finish_reason` are never read [INFO] [stdout] --> src/models/openai_llm.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 138 | struct Choice { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 139 | index: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 140 | message: OpenAIMessage, [INFO] [stdout] 141 | finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Choice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read [INFO] [stdout] --> src/models/openai_llm.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 145 | struct Usage { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 146 | prompt_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 147 | completion_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 148 | total_tokens: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Usage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `error_type` and `code` are never read [INFO] [stdout] --> src/models/openai_llm.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct OpenAIErrorDetail { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 160 | error_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 161 | code: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenAIErrorDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `object`, `created`, and `model` are never read [INFO] [stdout] --> src/models/openai_llm.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 166 | struct StreamResponse { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 167 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 168 | object: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 169 | created: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 170 | model: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/models/openai_llm.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 175 | struct StreamChoice { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 176 | index: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamChoice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `role` is never read [INFO] [stdout] --> src/models/openai_llm.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 182 | struct Delta { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 183 | role: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Delta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index` and `tool_type` are never read [INFO] [stdout] --> src/models/openai_llm.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 189 | struct ToolCallDelta { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 190 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | tool_type: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolCallDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/agents/agent.rs:434:26 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 36.88s [INFO] running `Command { std: "docker" "inspect" "f1baa923e4bf34341c2a210447f273ee88824899af052aa1bf2814d1f9025316", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f1baa923e4bf34341c2a210447f273ee88824899af052aa1bf2814d1f9025316", kill_on_drop: false }` [INFO] [stdout] f1baa923e4bf34341c2a210447f273ee88824899af052aa1bf2814d1f9025316 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 14a6147652125a9329d7698f5f84832437679e92bf770e310f61d3805b5fbd6d [INFO] running `Command { std: "docker" "start" "-a" "14a6147652125a9329d7698f5f84832437679e92bf770e310f61d3805b5fbd6d", kill_on_drop: false }` [INFO] [stderr] warning: enum `ToolChoice` is never used [INFO] [stderr] --> src/models/openai_llm.rs:51:6 [INFO] [stderr] | [INFO] [stderr] 51 | enum ToolChoice { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: struct `ToolChoiceFunction` is never constructed [INFO] [stderr] --> src/models/openai_llm.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | struct ToolChoiceFunction { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `id`, `object`, `created`, `model`, and `usage` are never read [INFO] [stderr] --> src/models/openai_llm.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 128 | struct OpenAIResponse { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 129 | id: String, [INFO] [stderr] | ^^ [INFO] [stderr] 130 | object: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 131 | created: i64, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 132 | model: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 133 | choices: Vec, [INFO] [stderr] 134 | usage: Option, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `OpenAIResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `index` and `finish_reason` are never read [INFO] [stderr] --> src/models/openai_llm.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 138 | struct Choice { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 139 | index: i32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 140 | message: OpenAIMessage, [INFO] [stderr] 141 | finish_reason: Option, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Choice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read [INFO] [stderr] --> src/models/openai_llm.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 145 | struct Usage { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 146 | prompt_tokens: i32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 147 | completion_tokens: i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 148 | total_tokens: i32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Usage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `error_type` and `code` are never read [INFO] [stderr] --> src/models/openai_llm.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 157 | struct OpenAIErrorDetail { [INFO] [stderr] | ----------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 160 | error_type: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 161 | code: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `OpenAIErrorDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `id`, `object`, `created`, and `model` are never read [INFO] [stderr] --> src/models/openai_llm.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 166 | struct StreamResponse { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 167 | id: String, [INFO] [stderr] | ^^ [INFO] [stderr] 168 | object: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 169 | created: i64, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 170 | model: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `StreamResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `index` is never read [INFO] [stderr] --> src/models/openai_llm.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 175 | struct StreamChoice { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 176 | index: i32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `StreamChoice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `role` is never read [INFO] [stderr] --> src/models/openai_llm.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 182 | struct Delta { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] 183 | role: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Delta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `index` and `tool_type` are never read [INFO] [stderr] --> src/models/openai_llm.rs:190:5 [INFO] [stderr] | [INFO] [stderr] 189 | struct ToolCallDelta { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 190 | index: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 193 | tool_type: Option, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ToolCallDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/agents/agent.rs:434:26 [INFO] [stderr] | [INFO] [stderr] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent { [INFO] [stderr] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 434 | pub fn authenticated(&self, app_name: String, user_id: String) -> AuthenticatedAgent<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `radkit` (lib) generated 11 warnings (run `cargo fix --lib -p radkit` to apply 1 suggestion) [INFO] [stderr] warning: `radkit` (lib test) generated 11 warnings (11 duplicates) [INFO] [stderr] warning: function `has_anthropic_key` is never used [INFO] [stderr] --> tests/common/mod.rs:27:8 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn has_anthropic_key() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `has_gemini_key` is never used [INFO] [stderr] --> tests/common/mod.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn has_gemini_key() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `has_openai_key` is never used [INFO] [stderr] --> tests/common/mod.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn has_openai_key() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_gemini_key` is never used [INFO] [stderr] --> tests/common/mod.rs:47:8 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn get_gemini_key() -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_openai_key` is never used [INFO] [stderr] --> tests/common/mod.rs:52:8 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn get_openai_key() -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_anthropic_key` is never used [INFO] [stderr] --> tests/common/mod.rs:42:8 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn get_anthropic_key() -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `mentioned_memory` is assigned to, but never used [INFO] [stderr] --> tests/openai_multi_turn.rs:380:13 [INFO] [stderr] | [INFO] [stderr] 380 | let mut mentioned_memory = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_mentioned_memory` instead [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable `mentioned_counter` is assigned to, but never used [INFO] [stderr] --> tests/openai_multi_turn.rs:381:13 [INFO] [stderr] | [INFO] [stderr] 381 | let mut mentioned_counter = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_mentioned_counter` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `mentioned_memory` is never read [INFO] [stderr] --> tests/openai_multi_turn.rs:389:25 [INFO] [stderr] | [INFO] [stderr] 389 | mentioned_memory = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `mentioned_counter` is never read [INFO] [stderr] --> tests/openai_multi_turn.rs:393:25 [INFO] [stderr] | [INFO] [stderr] 393 | mentioned_counter = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: `radkit` (test "anthropic_tool_use") generated 5 warnings [INFO] [stderr] warning: `radkit` (test "builtin_tools_real_api") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `radkit` (test "builtin_tools_rejection_tests") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `radkit` (test "gemini_simple") generated 5 warnings (4 duplicates) [INFO] [stderr] warning: `radkit` (test "openai_simple") generated 5 warnings (5 duplicates) [INFO] [stderr] warning: `radkit` (test "openai_multi_turn") generated 9 warnings (5 duplicates) [INFO] [stderr] warning: `radkit` (test "gemini_multi_turn_tool_use") generated 5 warnings (5 duplicates) [INFO] [stderr] warning: `radkit` (test "openai_streaming") generated 5 warnings (5 duplicates) [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> tests/mcp_weather_simple.rs:442:13 [INFO] [stderr] | [INFO] [stderr] 442 | _ => { [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> tests/mcp_weather_simple.rs:442:13 [INFO] [stderr] | [INFO] [stderr] 392 | SendStreamingMessageResult::Message(message) => { [INFO] [stderr] | -------------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 425 | SendStreamingMessageResult::Task(task) => { [INFO] [stderr] | -------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 434 | SendStreamingMessageResult::TaskStatusUpdate(status_update) => { [INFO] [stderr] | ----------------------------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 438 | SendStreamingMessageResult::TaskArtifactUpdate(artifact_update) => { [INFO] [stderr] | --------------------------------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 442 | _ => { [INFO] [stderr] | ^ collectively making this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `radkit` (test "openai_tool_use") generated 5 warnings (5 duplicates) [INFO] [stderr] warning: `radkit` (test "tool_context_integration") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `radkit` (test "anthropic_simple") generated 5 warnings (5 duplicates) [INFO] [stderr] warning: `radkit` (test "mcp_weather_simple") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `radkit` (test "anthropic_multi_turn") generated 5 warnings (5 duplicates) [INFO] [stderr] warning: `radkit` (test "gemini_tool_use") generated 5 warnings (5 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/radkit-7900991a1fe81edc) [INFO] [stdout] [INFO] [stdout] running 87 tests [INFO] [stdout] test agents::agent::tests::test_agent_configuration_builders ... ok [INFO] [stdout] test agents::agent::tests::test_builder_pattern_consistency ... ok [INFO] [stdout] test agents::agent::tests::test_send_message_with_session_state ... ok [INFO] [stdout] test errors::tests::test_error_categories ... ok [INFO] [stdout] test agents::agent::tests::test_send_message_multi_turn_conversation ... ok [INFO] [stdout] test errors::tests::test_error_conversions ... ok [INFO] [stdout] test agents::agent::tests::test_send_message_simple_text_response ... ok [INFO] [stdout] test errors::tests::test_error_macros ... ok [INFO] [stdout] test models::content::tests::test_content_creation ... ok [INFO] [stdout] test models::content::tests::test_content_from_message ... ok [INFO] [stdout] test events::event_bus::tests::test_event_bus_filtering ... ok [INFO] [stdout] test models::content::tests::test_content_part_conversions ... ok [INFO] [stdout] test models::content::tests::test_error_function_response ... ok [INFO] [stdout] test models::content::tests::test_content_to_a2a_message ... ok [INFO] [stdout] test events::event_bus::tests::test_event_bus_publish_subscribe ... ok [INFO] [stdout] test models::content::tests::test_function_call_handling ... ok [INFO] [stdout] test events::event_bus::tests::test_subscriber_count ... ok [INFO] [stdout] test models::llm_request::tests::test_last_message ... ok [INFO] [stdout] test models::llm_request::tests::test_function_call_detection ... ok [INFO] [stdout] test models::content::tests::test_function_response_handling ... ok [INFO] [stdout] test agents::agent::tests::test_setup_execution_context_existing_session ... ok [INFO] [stdout] test agents::agent::tests::test_send_message_with_tool_error ... ok [INFO] [stdout] test models::content::tests::test_visible_content_check ... ok [INFO] [stdout] test models::llm_request::tests::test_llm_request_creation ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_concurrent_state_updates ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_create_and_get_session ... ok [INFO] [stdout] test agents::agent::tests::test_send_message_with_builtin_tools ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_get_session_vs_create ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_delete_session ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_nonexistent_session_retrieval ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_concurrent_session_creation_and_retrieval ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_list_sessions ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_session_auto_generated_id ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_state_autoloading_empty_state ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_immediate_state_persistence ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_large_state_values ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_state_autoloading_with_existing_state ... ok [INFO] [stdout] test sessions::session::tests::test_session_new ... ok [INFO] [stdout] test sessions::query_service::tests::test_query_service_conversation_empty ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_state_isolation_between_users ... ok [INFO] [stdout] test sessions::query_service::tests::test_query_service_no_tasks ... ok [INFO] [stdout] test sessions::session_event::tests::test_a2a_compatibility ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_state_isolation_between_apps ... ok [INFO] [stdout] test sessions::in_memory_session_service::tests::test_state_key_prefixes_edge_cases ... ok [INFO] [stdout] test sessions::session_event::tests::test_a2a_streaming_conversion ... ok [INFO] [stdout] test sessions::session_event::tests::test_event_filtering ... ok [INFO] [stdout] test sessions::query_service::tests::test_query_service_empty_state ... ok [INFO] [stdout] test sessions::session_event::tests::test_session_event_creation ... ok [INFO] [stdout] test tools::base_toolset::tests::test_combined_toolset ... ok [INFO] [stdout] test tools::base_toolset::tests::test_simple_toolset ... ok [INFO] [stdout] test tools::base_toolset::tests::test_simple_toolset_builder_pattern ... ok [INFO] [stdout] test tools::base_toolset::tests::test_combined_toolset_with_empty_base ... ok [INFO] [stdout] test tools::base_toolset::tests::test_combined_toolset_with_no_additional ... ok [INFO] [stdout] test tools::base_toolset::tests::test_empty_toolset_behavior ... ok [INFO] [stdout] test tools::builtin_tools::tests::test_builtin_tools_documentation ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_builder_pattern ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_creation ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_error_handling ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_execution ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_with_complex_parameters ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_with_context_usage ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_with_empty_parameters_schema ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_with_schema ... ok [INFO] [stdout] test tools::mcp::mcp_tool::tests::test_extract_content_as_json ... ok [INFO] [stdout] test tools::mcp::mcp_tool::tests::test_extract_error_message ... ok [INFO] [stdout] test tools::mcp::mcp_tool::tests::test_is_retryable_rmcp_error ... ok [INFO] [stdout] test tools::mcp::mcp_toolset::tests::test_tool_filter_all ... ok [INFO] [stdout] test tools::base_toolset::tests::test_toolset_close_cleanup ... ok [INFO] [stdout] test tools::mcp::mcp_toolset::tests::test_mcp_toolset_creation ... ok [INFO] [stdout] test tools::mcp::mcp_toolset::tests::test_tool_filter_exclude ... ok [INFO] [stdout] test tools::base_toolset::tests::test_toolset_thread_safety ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_artifact_access ... ok [INFO] [stdout] test tools::mcp::mcp_toolset::tests::test_tool_filter_include ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_context_basic_access ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_context_concurrent_access ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_context_improved_api ... ok [INFO] [stdout] test sessions::session::tests::test_session_event_management ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_context_state_updates_with_old_values ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_state_access_empty ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_context_state_isolation ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_session_state_management ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_task_access ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_user_state_management ... ok [INFO] [stdout] test tools::tool_context::tests::test_tool_user_interaction ... ok [INFO] [stdout] test tools::function_tool::tests::test_function_tool_concurrent_execution ... ok [INFO] [stdout] test sessions::session::tests::test_session_state_management ... ok [INFO] [stderr] Running tests/anthropic_multi_turn.rs (/opt/rustwide/target/debug/deps/anthropic_multi_turn-2f55ab5711e2f528) [INFO] [stdout] test tools::function_tool::tests::test_function_tool_with_long_running ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 87 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_anthropic_context_retention ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] Running tests/anthropic_simple.rs (/opt/rustwide/target/debug/deps/anthropic_simple-7b42da0e42d73ffe) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_anthropic_multi_turn_conversation ... ignored [INFO] [stdout] test test_anthropic_simple_conversation_comprehensive ... ignored [INFO] [stdout] test test_anthropic_streaming_comprehensive ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/anthropic_tool_use.rs (/opt/rustwide/target/debug/deps/anthropic_tool_use-bd2aaec601fbce83) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_anthropic_multi_tool_execution ... ignored [INFO] [stdout] test test_anthropic_non_streaming_tool_call ... ignored [INFO] [stdout] test test_anthropic_single_tool_call_comprehensive ... ignored [INFO] [stdout] test test_anthropic_tool_error_handling ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/builtin_tools_real_api.rs (/opt/rustwide/target/debug/deps/builtin_tools_real_api-e7aa225b54e10eba) [INFO] [stderr] Running tests/builtin_tools_rejection_tests.rs (/opt/rustwide/target/debug/deps/builtin_tools_rejection_tests-1aa4eff9c35430df) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_anthropic_artifact_save ... ignored [INFO] [stdout] test test_anthropic_multiple_operations ... ignored [INFO] [stdout] test test_anthropic_status_update ... ignored [INFO] [stdout] test test_gemini_artifact_save ... ignored [INFO] [stdout] test test_gemini_multiple_operations ... ignored [INFO] [stdout] test test_gemini_status_update ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/event_storage_integration.rs (/opt/rustwide/target/debug/deps/event_storage_integration-b84fb430292dbdad) [INFO] [stdout] running 5 tests [INFO] [stderr] Running tests/gemini_multi_turn_tool_use.rs (/opt/rustwide/target/debug/deps/gemini_multi_turn_tool_use-fcf37e6da4b5cc12) [INFO] [stdout] test test_anthropic_auth_required ... ignored [INFO] [stderr] Running tests/gemini_simple.rs (/opt/rustwide/target/debug/deps/gemini_simple-8a50ad40a9407a80) [INFO] [stdout] test test_anthropic_task_failure ... ignored [INFO] [stdout] test test_anthropic_task_rejection ... ignored [INFO] [stdout] test test_gemini_multiple_state_transitions ... ignored [INFO] [stdout] test test_gemini_task_cancellation ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_tool_event_storage ... ok [INFO] [stdout] test test_complete_event_storage_pipeline ... ok [INFO] [stdout] test test_multi_turn_event_storage ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 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 test_gemini_multi_turn_calculation ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_gemini_creative_question ... ignored [INFO] [stdout] test test_gemini_simple_conversation ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/gemini_tool_use.rs (/opt/rustwide/target/debug/deps/gemini_tool_use-889ddbf4f631340c) [INFO] [stdout] [INFO] [stderr] Running tests/mcp_weather_simple.rs (/opt/rustwide/target/debug/deps/mcp_weather_simple-66ee3a5ce4d812fe) [INFO] [stdout] running 1 test [INFO] [stdout] test test_gemini_single_function_call ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_anthropic_mcp_weather ... ignored, requires ANTHROPIC_API_KEY and network access to MCP weather server [INFO] [stderr] Running tests/openai_multi_turn.rs (/opt/rustwide/target/debug/deps/openai_multi_turn-77ea00439adcdcb4) [INFO] [stdout] test test_gemini_mcp_weather ... ignored, requires GEMINI_API_KEY and network access to MCP weather server [INFO] [stdout] test test_openai_mcp_weather ... ignored, requires OPENAI_API_KEY and network access to MCP weather server [INFO] [stdout] test test_openai_mcp_weather_multiple_cities ... ignored, requires OPENAI_API_KEY and network access to MCP weather server [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_openai_cross_task_tool_persistence ... ignored [INFO] [stdout] test test_openai_multi_turn_with_stateful_tools ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/openai_simple.rs (/opt/rustwide/target/debug/deps/openai_simple-e56c3b9a685409e1) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_openai_multi_turn_conversation ... ignored [INFO] [stderr] Running tests/openai_streaming.rs (/opt/rustwide/target/debug/deps/openai_streaming-952775b58d0ddc9d) [INFO] [stdout] test test_openai_simple_conversation_comprehensive ... ignored [INFO] [stdout] test test_openai_streaming_comprehensive ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_openai_streaming_basic ... ignored [INFO] [stdout] test test_openai_streaming_with_tools ... ignored [INFO] [stdout] test test_openai_supports_streaming ... ok [INFO] [stdout] test test_openai_streaming_error_handling ... ok [INFO] [stdout] test test_openai_streaming_capabilities ... ok [INFO] [stderr] Running tests/openai_tool_use.rs (/opt/rustwide/target/debug/deps/openai_tool_use-3a4491d85ac72aff) [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.43s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_openai_multiple_tool_use ... ignored [INFO] [stdout] test test_openai_single_tool_use ... ignored [INFO] [stdout] test test_openai_streaming_with_tools ... ignored [INFO] [stdout] test test_openai_tool_error_handling ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/tool_context_integration.rs (/opt/rustwide/target/debug/deps/tool_context_integration-f770ae5c2f9cf7d5) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_anthropic_tool_context_state_management ... ignored, requires ANTHROPIC_API_KEY environment variable [INFO] [stdout] test test_gemini_tool_context_user_interaction ... ignored, requires GEMINI_API_KEY environment variable [INFO] [stdout] test test_tool_context_concurrent_operations ... ignored, requires ANTHROPIC_API_KEY environment variable [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests radkit [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] running `Command { std: "docker" "inspect" "14a6147652125a9329d7698f5f84832437679e92bf770e310f61d3805b5fbd6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "14a6147652125a9329d7698f5f84832437679e92bf770e310f61d3805b5fbd6d", kill_on_drop: false }` [INFO] [stdout] 14a6147652125a9329d7698f5f84832437679e92bf770e310f61d3805b5fbd6d