[INFO] fetching crate espionox 0.1.42...
[INFO] testing espionox-0.1.42 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate espionox 0.1.42 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate espionox 0.1.42
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate espionox 0.1.42
[INFO] tweaked toml for crates.io crate espionox 0.1.42 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate espionox 0.1.42 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate espionox 0.1.42 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 338564b6dcbc86029fd126d61dc0d23bbfeb8e3974a2edc91dadd5f5d11abd83
[INFO] running `Command { std: "docker" "start" "-a" "338564b6dcbc86029fd126d61dc0d23bbfeb8e3974a2edc91dadd5f5d11abd83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "338564b6dcbc86029fd126d61dc0d23bbfeb8e3974a2edc91dadd5f5d11abd83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "338564b6dcbc86029fd126d61dc0d23bbfeb8e3974a2edc91dadd5f5d11abd83", kill_on_drop: false }`
[INFO] [stdout] 338564b6dcbc86029fd126d61dc0d23bbfeb8e3974a2edc91dadd5f5d11abd83
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b4e879f4e75efa98305a3e17297ed2bcf046e9d02440caf71714a8b389bf1156
[INFO] running `Command { std: "docker" "start" "-a" "b4e879f4e75efa98305a3e17297ed2bcf046e9d02440caf71714a8b389bf1156", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling once_cell v1.20.1
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling cc v1.1.23
[INFO] [stderr]    Compiling bytes v1.7.2
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling openssl v0.10.66
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling openssl-sys v0.9.103
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling tinyvec v1.8.0
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling indexmap v2.5.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling ipnet v2.10.0
[INFO] [stderr]    Compiling thiserror v1.0.64
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling anyhow v1.0.89
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling gethostname v0.2.3
[INFO] [stderr]    Compiling tracing-log v0.1.4
[INFO] [stderr]    Compiling url v2.5.2
[INFO] [stderr]    Compiling uuid v1.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling regex v1.11.0
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tracing-bunyan-formatter v0.3.9
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling hyper v0.14.30
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling reqwest-streams v0.3.0
[INFO] [stderr]    Compiling espionox v0.1.42 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `option::IterMut`, and `vec::IntoIter`
[INFO] [stdout]  --> src/agents/memory/message_stack.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, option::IterMut, vec::IntoIter};
[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: `MessageStack` and `Message`
[INFO] [stdout]    --> src/agents/memory/message_stack.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 255 |     use super::{Message, MessageStack};
[INFO] [stdout]     |                 ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LexerError`
[INFO] [stdout]  --> src/language_models/completions/functions/lexer.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::errors::{LexerError, LexerResult};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/language_models/completions/functions/parser.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/language_models/completions/functions/parser.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, warn};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `lexer::*` and `parser::*`
[INFO] [stdout]  --> src/language_models/completions/functions/tests/mod.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{lexer::*, parser::*, tokens::*, *};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cases::*`
[INFO] [stdout]  --> src/language_models/completions/functions/tests/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cases::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     use std::collections::HashMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     use once_cell::sync::Lazy;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     use serde_json::json;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FunctionParam`, `ParamType`, `get_subscriber`, `init_subscriber`, and `openai::builder::OpenAiCompletionModel`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:175:25
[INFO] [stdout]     |
[INFO] [stdout] 175 |             functions::{FunctionParam, ParamType},
[INFO] [stdout]     |                         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 176 |             openai::builder::OpenAiCompletionModel,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |         },
[INFO] [stdout] 178 |         telemetry::{get_subscriber, init_subscriber},
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json`
[INFO] [stdout]   --> src/language_models/completions/openai/requests.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde_json::{json, Value};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/language_models/completions/openai/requests.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_log::log::info`
[INFO] [stdout]  --> src/language_models/completions/streaming/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing_log::log::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `anthropic::streaming::Message` is more private than the item `AnthropicStreamResponse::MessageStart::message`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     MessageStart { message: Message },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageStart::message` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `anthropic::streaming::Message` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ContentBlock` is more private than the item `AnthropicStreamResponse::ContentBlockStart::content_block`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         content_block: ContentBlock,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockStart::content_block` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ContentBlock` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct ContentBlock {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Delta` is more private than the item `AnthropicStreamResponse::ContentBlockDelta::delta`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ContentBlockDelta { index: usize, delta: Delta },
[INFO] [stdout]    |                                       ^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockDelta::delta` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Delta` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | enum Delta {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MessageDelta` is more private than the item `AnthropicStreamResponse::MessageDelta::delta`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::delta` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MessageDelta` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct MessageDelta {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Usage` is more private than the item `AnthropicStreamResponse::MessageDelta::usage`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:23:41
[INFO] [stdout]    |
[INFO] [stdout] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stdout]    |                                         ^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::usage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Usage` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Usage {
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `StreamChoice` is more private than the item `OpenAiStreamResponse::choices`
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     pub choices: Vec<StreamChoice>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `OpenAiStreamResponse::choices` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `StreamChoice` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct StreamChoice {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct AnthropicSuccess {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 112 |     content: Vec<AnthropicResponseContent>,
[INFO] [stdout] 113 |     usage: AnthropicUsage,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicSuccess` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct AnthropicError {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 118 |     message: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct AnthropicUsage {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 129 |     input_tokens: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 130 |     output_tokens: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicUsage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Message {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 30 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 31 |     #[serde(rename = "type")]
[INFO] [stdout] 32 |     msg_type: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 33 |     role: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     content: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     model: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 36 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     stop_sequence: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     usage: Usage,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block_type` and `text` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct ContentBlock {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 43 |     #[serde(rename = "type")]
[INFO] [stdout] 44 |     block_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stop_reason` and `stop_sequence` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct MessageDelta {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 65 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     stop_sequence: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Usage {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 71 |     input_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 72 |     output_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Usage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FunctionResult` is never used
[INFO] [stdout]  --> src/language_models/completions/functions/errors.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type FunctionResult<T> = Result<T, FunctionError>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TRACING` is never used
[INFO] [stdout]  --> src/language_models/completions/functions/tests/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static TRACING: Lazy<()> = Lazy::new(|| {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestCase` is never constructed
[INFO] [stdout]  --> src/language_models/completions/functions/tests/cases.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TestCase {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_test_cases` is never used
[INFO] [stdout]  --> src/language_models/completions/functions/tests/cases.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn all_test_cases() -> Vec<TestCase> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `weather_func_test_case` is never used
[INFO] [stdout]   --> src/language_models/completions/functions/tests/cases.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn weather_func_test_case() -> TestCase {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enough_context_func_test_case` is never used
[INFO] [stdout]    --> src/language_models/completions/functions/tests/cases.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn enough_context_func_test_case() -> TestCase {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `role` is never read
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct StreamDelta {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 18 |     pub role: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/completions/inference.rs:53:62
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn;
[INFO] [stdout]    |                              -- the lifetime is named 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: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn<'r>;
[INFO] [stdout]    |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/embeddings/inference.rs:14:62
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn;
[INFO] [stdout]    |                              -- the lifetime is named 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] help: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn<'r>;
[INFO] [stdout]    |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/embeddings/openai.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &'r self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 51 |         response: reqwest::Response,
[INFO] [stdout] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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] help: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn<'r> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "b4e879f4e75efa98305a3e17297ed2bcf046e9d02440caf71714a8b389bf1156", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4e879f4e75efa98305a3e17297ed2bcf046e9d02440caf71714a8b389bf1156", kill_on_drop: false }`
[INFO] [stdout] b4e879f4e75efa98305a3e17297ed2bcf046e9d02440caf71714a8b389bf1156
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6ea12a644fe30c59ffebf20f6db36b1c711bc2798df7998ed7303c613b220022
[INFO] running `Command { std: "docker" "start" "-a" "6ea12a644fe30c59ffebf20f6db36b1c711bc2798df7998ed7303c613b220022", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `option::IterMut`, and `vec::IntoIter`
[INFO] [stdout]  --> src/agents/memory/message_stack.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, option::IterMut, vec::IntoIter};
[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: `MessageStack` and `Message`
[INFO] [stdout]    --> src/agents/memory/message_stack.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 255 |     use super::{Message, MessageStack};
[INFO] [stdout]     |                 ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LexerError`
[INFO] [stdout]  --> src/language_models/completions/functions/lexer.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::errors::{LexerError, LexerResult};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/language_models/completions/functions/parser.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/language_models/completions/functions/parser.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, warn};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `lexer::*` and `parser::*`
[INFO] [stdout]  --> src/language_models/completions/functions/tests/mod.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{lexer::*, parser::*, tokens::*, *};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cases::*`
[INFO] [stdout]  --> src/language_models/completions/functions/tests/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cases::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     use std::collections::HashMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     use once_cell::sync::Lazy;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     use serde_json::json;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FunctionParam`, `ParamType`, `get_subscriber`, `init_subscriber`, and `openai::builder::OpenAiCompletionModel`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:175:25
[INFO] [stdout]     |
[INFO] [stdout] 175 |             functions::{FunctionParam, ParamType},
[INFO] [stdout]     |                         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 176 |             openai::builder::OpenAiCompletionModel,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |         },
[INFO] [stdout] 178 |         telemetry::{get_subscriber, init_subscriber},
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json`
[INFO] [stdout]   --> src/language_models/completions/openai/requests.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde_json::{json, Value};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/language_models/completions/openai/requests.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_log::log::info`
[INFO] [stdout]  --> src/language_models/completions/streaming/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing_log::log::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `anthropic::streaming::Message` is more private than the item `AnthropicStreamResponse::MessageStart::message`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     MessageStart { message: Message },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageStart::message` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `anthropic::streaming::Message` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ContentBlock` is more private than the item `AnthropicStreamResponse::ContentBlockStart::content_block`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         content_block: ContentBlock,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockStart::content_block` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ContentBlock` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct ContentBlock {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Delta` is more private than the item `AnthropicStreamResponse::ContentBlockDelta::delta`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ContentBlockDelta { index: usize, delta: Delta },
[INFO] [stdout]    |                                       ^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockDelta::delta` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Delta` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | enum Delta {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MessageDelta` is more private than the item `AnthropicStreamResponse::MessageDelta::delta`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::delta` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MessageDelta` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct MessageDelta {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Usage` is more private than the item `AnthropicStreamResponse::MessageDelta::usage`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:23:41
[INFO] [stdout]    |
[INFO] [stdout] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stdout]    |                                         ^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::usage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Usage` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Usage {
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `StreamChoice` is more private than the item `OpenAiStreamResponse::choices`
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     pub choices: Vec<StreamChoice>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `OpenAiStreamResponse::choices` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `StreamChoice` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct StreamChoice {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct AnthropicSuccess {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 112 |     content: Vec<AnthropicResponseContent>,
[INFO] [stdout] 113 |     usage: AnthropicUsage,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicSuccess` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct AnthropicError {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 118 |     message: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct AnthropicUsage {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 129 |     input_tokens: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 130 |     output_tokens: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicUsage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Message {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 30 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 31 |     #[serde(rename = "type")]
[INFO] [stdout] 32 |     msg_type: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 33 |     role: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     content: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     model: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 36 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     stop_sequence: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     usage: Usage,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block_type` and `text` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct ContentBlock {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 43 |     #[serde(rename = "type")]
[INFO] [stdout] 44 |     block_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stop_reason` and `stop_sequence` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct MessageDelta {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 65 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     stop_sequence: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Usage {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 71 |     input_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 72 |     output_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Usage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FunctionResult` is never used
[INFO] [stdout]  --> src/language_models/completions/functions/errors.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type FunctionResult<T> = Result<T, FunctionError>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TRACING` is never used
[INFO] [stdout]  --> src/language_models/completions/functions/tests/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static TRACING: Lazy<()> = Lazy::new(|| {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestCase` is never constructed
[INFO] [stdout]  --> src/language_models/completions/functions/tests/cases.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TestCase {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_test_cases` is never used
[INFO] [stdout]  --> src/language_models/completions/functions/tests/cases.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn all_test_cases() -> Vec<TestCase> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `weather_func_test_case` is never used
[INFO] [stdout]   --> src/language_models/completions/functions/tests/cases.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn weather_func_test_case() -> TestCase {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enough_context_func_test_case` is never used
[INFO] [stdout]    --> src/language_models/completions/functions/tests/cases.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn enough_context_func_test_case() -> TestCase {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `role` is never read
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct StreamDelta {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 18 |     pub role: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/completions/inference.rs:53:62
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn;
[INFO] [stdout]    |                              -- the lifetime is named 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: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn<'r>;
[INFO] [stdout]    |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/embeddings/inference.rs:14:62
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn;
[INFO] [stdout]    |                              -- the lifetime is named 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] help: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn<'r>;
[INFO] [stdout]    |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/embeddings/openai.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &'r self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 51 |         response: reqwest::Response,
[INFO] [stdout] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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] help: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn<'r> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling espionox v0.1.42 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> tests/api/agent.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::Deserialize;
[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: `serde_json::json`
[INFO] [stdout]  --> tests/api/agent.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> tests/api/functions.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::{json, Value};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `option::IterMut`, and `vec::IntoIter`
[INFO] [stdout]  --> src/agents/memory/message_stack.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, option::IterMut, vec::IntoIter};
[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: `LexerError`
[INFO] [stdout]  --> src/language_models/completions/functions/lexer.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::errors::{LexerError, LexerResult};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/language_models/completions/functions/parser.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/language_models/completions/functions/parser.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, warn};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     use once_cell::sync::Lazy;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_subscriber` and `init_subscriber`
[INFO] [stdout]    --> src/language_models/completions/openai/builder.rs:178:21
[INFO] [stdout]     |
[INFO] [stdout] 178 |         telemetry::{get_subscriber, init_subscriber},
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/language_models/completions/openai/requests.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_log::log::info`
[INFO] [stdout]  --> src/language_models/completions/streaming/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing_log::log::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str_to_compile`
[INFO] [stdout]  --> tests/api/functions.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let str_to_compile = r#"get_current_weather(location!: string, unit: 'celcius' | 'farenheight') 
[INFO] [stdout]   |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_to_compile`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_result`
[INFO] [stdout]   --> tests/api/functions.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let expected_result = json!({
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str_to_compile`
[INFO] [stdout]   --> tests/api/functions.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let str_to_compile = r#"get_n_day_weather_forecast(location!: string, format!: 'celcius' | 'farenheight', num_days!: integer)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_to_compile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_result`
[INFO] [stdout]   --> tests/api/functions.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let expected_result = json!({
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `anthropic::streaming::Message` is more private than the item `AnthropicStreamResponse::MessageStart::message`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     MessageStart { message: Message },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageStart::message` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `anthropic::streaming::Message` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ContentBlock` is more private than the item `AnthropicStreamResponse::ContentBlockStart::content_block`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         content_block: ContentBlock,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockStart::content_block` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ContentBlock` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct ContentBlock {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Delta` is more private than the item `AnthropicStreamResponse::ContentBlockDelta::delta`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ContentBlockDelta { index: usize, delta: Delta },
[INFO] [stdout]    |                                       ^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockDelta::delta` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Delta` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | enum Delta {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MessageDelta` is more private than the item `AnthropicStreamResponse::MessageDelta::delta`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::delta` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MessageDelta` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct MessageDelta {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Usage` is more private than the item `AnthropicStreamResponse::MessageDelta::usage`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:23:41
[INFO] [stdout]    |
[INFO] [stdout] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stdout]    |                                         ^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::usage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Usage` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Usage {
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `StreamChoice` is more private than the item `OpenAiStreamResponse::choices`
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     pub choices: Vec<StreamChoice>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `OpenAiStreamResponse::choices` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `StreamChoice` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct StreamChoice {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct AnthropicSuccess {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 112 |     content: Vec<AnthropicResponseContent>,
[INFO] [stdout] 113 |     usage: AnthropicUsage,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicSuccess` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct AnthropicError {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 118 |     message: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]    --> src/language_models/completions/anthropic/requests.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct AnthropicUsage {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 129 |     input_tokens: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 130 |     output_tokens: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnthropicUsage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Message {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 30 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 31 |     #[serde(rename = "type")]
[INFO] [stdout] 32 |     msg_type: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 33 |     role: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     content: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     model: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 36 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     stop_sequence: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     usage: Usage,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block_type` and `text` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct ContentBlock {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 43 |     #[serde(rename = "type")]
[INFO] [stdout] 44 |     block_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stop_reason` and `stop_sequence` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct MessageDelta {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 65 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     stop_sequence: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]   --> src/language_models/completions/anthropic/streaming.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Usage {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 71 |     input_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 72 |     output_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Usage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FunctionResult` is never used
[INFO] [stdout]  --> src/language_models/completions/functions/errors.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type FunctionResult<T> = Result<T, FunctionError>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `role` is never read
[INFO] [stdout]   --> src/language_models/completions/openai/streaming.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct StreamDelta {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 18 |     pub role: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/completions/inference.rs:53:62
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn;
[INFO] [stdout]    |                              -- the lifetime is named 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: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn<'r>;
[INFO] [stdout]    |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/embeddings/inference.rs:14:62
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn;
[INFO] [stdout]    |                              -- the lifetime is named 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] help: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn<'r>;
[INFO] [stdout]    |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/language_models/embeddings/openai.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &'r self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 51 |         response: reqwest::Response,
[INFO] [stdout] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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] help: consistently use `'r`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn<'r> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.42s
[INFO] running `Command { std: "docker" "inspect" "6ea12a644fe30c59ffebf20f6db36b1c711bc2798df7998ed7303c613b220022", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ea12a644fe30c59ffebf20f6db36b1c711bc2798df7998ed7303c613b220022", kill_on_drop: false }`
[INFO] [stdout] 6ea12a644fe30c59ffebf20f6db36b1c711bc2798df7998ed7303c613b220022
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b78169ce969a48f61864206be24cce1a5113f0206db0e7df963d651fd5c2a58b
[INFO] running `Command { std: "docker" "start" "-a" "b78169ce969a48f61864206be24cce1a5113f0206db0e7df963d651fd5c2a58b", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `cmp::Ordering`, `option::IterMut`, and `vec::IntoIter`
[INFO] [stderr]  --> src/agents/memory/message_stack.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{cmp::Ordering, option::IterMut, vec::IntoIter};
[INFO] [stderr]   |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MessageStack` and `Message`
[INFO] [stderr]    --> src/agents/memory/message_stack.rs:255:17
[INFO] [stderr]     |
[INFO] [stderr] 255 |     use super::{Message, MessageStack};
[INFO] [stderr]     |                 ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LexerError`
[INFO] [stderr]  --> src/language_models/completions/functions/lexer.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::errors::{LexerError, LexerResult};
[INFO] [stderr]   |                     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `VecDeque`
[INFO] [stderr]  --> src/language_models/completions/functions/parser.rs:5:33
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::{HashMap, VecDeque};
[INFO] [stderr]   |                                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `info`
[INFO] [stderr]  --> src/language_models/completions/functions/parser.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tracing::{info, warn};
[INFO] [stderr]   |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `lexer::*` and `parser::*`
[INFO] [stderr]  --> src/language_models/completions/functions/tests/mod.rs:2:13
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::{lexer::*, parser::*, tokens::*, *};
[INFO] [stderr]   |             ^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cases::*`
[INFO] [stderr]  --> src/language_models/completions/functions/tests/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use cases::*;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]    --> src/language_models/completions/openai/builder.rs:168:9
[INFO] [stderr]     |
[INFO] [stderr] 168 |     use std::collections::HashMap;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stderr]    --> src/language_models/completions/openai/builder.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |     use once_cell::sync::Lazy;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::json`
[INFO] [stderr]    --> src/language_models/completions/openai/builder.rs:171:9
[INFO] [stderr]     |
[INFO] [stderr] 171 |     use serde_json::json;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FunctionParam`, `ParamType`, `get_subscriber`, `init_subscriber`, and `openai::builder::OpenAiCompletionModel`
[INFO] [stderr]    --> src/language_models/completions/openai/builder.rs:175:25
[INFO] [stderr]     |
[INFO] [stderr] 175 |             functions::{FunctionParam, ParamType},
[INFO] [stderr]     |                         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 176 |             openai::builder::OpenAiCompletionModel,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 177 |         },
[INFO] [stderr] 178 |         telemetry::{get_subscriber, init_subscriber},
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `json`
[INFO] [stderr]   --> src/language_models/completions/openai/requests.rs:19:18
[INFO] [stderr]    |
[INFO] [stderr] 19 | use serde_json::{json, Value};
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::info`
[INFO] [stderr]   --> src/language_models/completions/openai/requests.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use tracing::info;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing_log::log::info`
[INFO] [stderr]  --> src/language_models/completions/streaming/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tracing_log::log::info;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `anthropic::streaming::Message` is more private than the item `AnthropicStreamResponse::MessageStart::message`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:10:20
[INFO] [stderr]    |
[INFO] [stderr] 10 |     MessageStart { message: Message },
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageStart::message` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `anthropic::streaming::Message` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | struct Message {
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `ContentBlock` is more private than the item `AnthropicStreamResponse::ContentBlockStart::content_block`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |         content_block: ContentBlock,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockStart::content_block` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `ContentBlock` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:42:1
[INFO] [stderr]    |
[INFO] [stderr] 42 | struct ContentBlock {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `Delta` is more private than the item `AnthropicStreamResponse::ContentBlockDelta::delta`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:19:39
[INFO] [stderr]    |
[INFO] [stderr] 19 |     ContentBlockDelta { index: usize, delta: Delta },
[INFO] [stderr]    |                                       ^^^^^^^^^^^^ field `AnthropicStreamResponse::ContentBlockDelta::delta` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `Delta` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | enum Delta {
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `MessageDelta` is more private than the item `AnthropicStreamResponse::MessageDelta::delta`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:23:20
[INFO] [stderr]    |
[INFO] [stderr] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::delta` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `MessageDelta` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:64:1
[INFO] [stderr]    |
[INFO] [stderr] 64 | struct MessageDelta {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `Usage` is more private than the item `AnthropicStreamResponse::MessageDelta::usage`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:23:41
[INFO] [stderr]    |
[INFO] [stderr] 23 |     MessageDelta { delta: MessageDelta, usage: Usage },
[INFO] [stderr]    |                                         ^^^^^^^^^^^^ field `AnthropicStreamResponse::MessageDelta::usage` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `Usage` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:70:1
[INFO] [stderr]    |
[INFO] [stderr] 70 | struct Usage {
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `StreamChoice` is more private than the item `OpenAiStreamResponse::choices`
[INFO] [stderr]   --> src/language_models/completions/openai/streaming.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr]  8 |     pub choices: Vec<StreamChoice>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `OpenAiStreamResponse::choices` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `StreamChoice` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/language_models/completions/openai/streaming.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | struct StreamChoice {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `usage` is never read
[INFO] [stderr]    --> src/language_models/completions/anthropic/requests.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 111 | pub struct AnthropicSuccess {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 112 |     content: Vec<AnthropicResponseContent>,
[INFO] [stderr] 113 |     usage: AnthropicUsage,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnthropicSuccess` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `message` is never read
[INFO] [stderr]    --> src/language_models/completions/anthropic/requests.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub struct AnthropicError {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] 118 |     message: String,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnthropicError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stderr]    --> src/language_models/completions/anthropic/requests.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub struct AnthropicUsage {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 129 |     input_tokens: i32,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 130 |     output_tokens: i32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnthropicUsage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | struct Message {
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 30 |     id: String,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 31 |     #[serde(rename = "type")]
[INFO] [stderr] 32 |     msg_type: String,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 33 |     role: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 34 |     content: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 35 |     model: String,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 36 |     stop_reason: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 37 |     stop_sequence: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 38 |     usage: Usage,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Message` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `block_type` and `text` are never read
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | struct ContentBlock {
[INFO] [stderr]    |        ------------ fields in this struct
[INFO] [stderr] 43 |     #[serde(rename = "type")]
[INFO] [stderr] 44 |     block_type: String,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 45 |     text: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ContentBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `stop_reason` and `stop_sequence` are never read
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | struct MessageDelta {
[INFO] [stderr]    |        ------------ fields in this struct
[INFO] [stderr] 65 |     stop_reason: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 66 |     stop_sequence: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MessageDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stderr]   --> src/language_models/completions/anthropic/streaming.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 70 | struct Usage {
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] 71 |     input_tokens: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 72 |     output_tokens: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Usage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `FunctionResult` is never used
[INFO] [stderr]  --> src/language_models/completions/functions/errors.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub type FunctionResult<T> = Result<T, FunctionError>;
[INFO] [stderr]   |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `TRACING` is never used
[INFO] [stderr]  --> src/language_models/completions/functions/tests/mod.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | static TRACING: Lazy<()> = Lazy::new(|| {
[INFO] [stderr]   |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestCase` is never constructed
[INFO] [stderr]  --> src/language_models/completions/functions/tests/cases.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct TestCase {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `all_test_cases` is never used
[INFO] [stderr]  --> src/language_models/completions/functions/tests/cases.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn all_test_cases() -> Vec<TestCase> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `weather_func_test_case` is never used
[INFO] [stderr]   --> src/language_models/completions/functions/tests/cases.rs:13:4
[INFO] [stderr]    |
[INFO] [stderr] 13 | fn weather_func_test_case() -> TestCase {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `enough_context_func_test_case` is never used
[INFO] [stderr]    --> src/language_models/completions/functions/tests/cases.rs:100:4
[INFO] [stderr]     |
[INFO] [stderr] 100 | fn enough_context_func_test_case() -> TestCase {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `role` is never read
[INFO] [stderr]   --> src/language_models/completions/openai/streaming.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 17 | struct StreamDelta {
[INFO] [stderr]    |        ----------- field in this struct
[INFO] [stderr] 18 |     pub role: Option<String>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StreamDelta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/language_models/completions/inference.rs:53:62
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn;
[INFO] [stderr]    |                              -- the lifetime is named 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: consistently use `'r`
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn process_response<'r>(&'r self, response: Response) -> ProcessResponseReturn<'r>;
[INFO] [stderr]    |                                                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/language_models/embeddings/inference.rs:14:62
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn;
[INFO] [stderr]    |                              -- the lifetime is named 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] help: consistently use `'r`
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn process_response<'r>(&'r self, response: Response) -> ProcessEmbeddingResponseReturn<'r>;
[INFO] [stderr]    |                                                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/language_models/embeddings/openai.rs:52:10
[INFO] [stderr]    |
[INFO] [stderr] 50 |         &'r self,
[INFO] [stderr]    |          -- the lifetime is named here
[INFO] [stderr] 51 |         response: reqwest::Response,
[INFO] [stderr] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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] help: consistently use `'r`
[INFO] [stderr]    |
[INFO] [stderr] 52 |     ) -> super::inference::ProcessEmbeddingResponseReturn<'r> {
[INFO] [stderr]    |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `get_subscriber` and `init_subscriber`
[INFO] [stderr]    --> src/language_models/completions/openai/builder.rs:178:21
[INFO] [stderr]     |
[INFO] [stderr] 178 |         telemetry::{get_subscriber, init_subscriber},
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `espionox` (lib) generated 37 warnings (run `cargo fix --lib -p espionox` to apply 17 suggestions)
[INFO] [stderr] warning: `espionox` (lib test) generated 26 warnings (25 duplicates) (run `cargo fix --lib -p espionox --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `serde::Deserialize`
[INFO] [stderr]  --> tests/api/agent.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use serde::Deserialize;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::json`
[INFO] [stderr]  --> tests/api/agent.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use serde_json::json;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]  --> tests/api/functions.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use serde_json::{json, Value};
[INFO] [stderr]   |                        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str_to_compile`
[INFO] [stderr]  --> tests/api/functions.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 |     let str_to_compile = r#"get_current_weather(location!: string, unit: 'celcius' | 'farenheight') 
[INFO] [stderr]   |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_to_compile`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected_result`
[INFO] [stderr]   --> tests/api/functions.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |     let expected_result = json!({
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str_to_compile`
[INFO] [stderr]   --> tests/api/functions.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     let str_to_compile = r#"get_n_day_weather_forecast(location!: string, format!: 'celcius' | 'farenheight', num_days!: integer)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_to_compile`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected_result`
[INFO] [stderr]   --> tests/api/functions.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let expected_result = json!({
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_result`
[INFO] [stderr] 
[INFO] [stderr] warning: `espionox` (test "api") generated 7 warnings (run `cargo fix --test "api" -p espionox` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/espionox-52da82cc595fd5aa)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test agents::memory::message_stack::tests::message_from_correct ... ok
[INFO] [stdout] test language_models::completions::anthropic::builder::tests::anthropic_agent_cache_to_json ... ok
[INFO] [stdout] test language_models::completions::openai::builder::tests::correctly_serialize_params ... ok
[INFO] [stdout] test language_models::completions::openai::requests::tests::openai_response_parsed_correctly ... ok
[INFO] [stdout] test language_models::completions::functions::tests::parse_parameters_works ... ok
[INFO] [stdout] test language_models::completions::functions::tests::parses_to_function_correctly ... ok
[INFO] [stdout] test language_models::completions::functions::tests::lexes_correctly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api/main.rs (/opt/rustwide/target/debug/deps/api-0f32d8241baa6de9)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test agent::function_prompt_agent_works ... ignored
[INFO] [stdout] test agent::io_prompt_agent_works ... ignored
[INFO] [stdout] test agent::stream_prompt_agent_works ... ignored
[INFO] [stdout] test memory::tests::message_stack_filter_by_behavior ... ok
[INFO] [stdout] test functions::compile_functions_into_actual ... ok
[INFO] [stdout] test memory::tests::message_stack_pop_behavior ... ok
[INFO] [stdout] test language_models::failed_request_does_not_overflow_stack ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests espionox
[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" "b78169ce969a48f61864206be24cce1a5113f0206db0e7df963d651fd5c2a58b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b78169ce969a48f61864206be24cce1a5113f0206db0e7df963d651fd5c2a58b", kill_on_drop: false }`
[INFO] [stdout] b78169ce969a48f61864206be24cce1a5113f0206db0e7df963d651fd5c2a58b
