[INFO] fetching crate next-web-ai 0.1.0...
[INFO] checking next-web-ai-0.1.0 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] extracting crate next-web-ai 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate next-web-ai 0.1.0
[INFO] finished tweaking crates.io crate next-web-ai 0.1.0
[INFO] tweaked toml for crates.io crate next-web-ai 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate next-web-ai 0.1.0 on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate next-web-ai 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded next-web-core v0.1.4
[INFO] [stderr]   Downloaded async-compression v0.4.27
[INFO] [stderr]   Downloaded tokio v1.47.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e3a0e6ea879822bc1b3df026f39c854ea562127cf299de81bef9bf35f118c158
[INFO] running `Command { std: "docker" "start" "-a" "e3a0e6ea879822bc1b3df026f39c854ea562127cf299de81bef9bf35f118c158", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e3a0e6ea879822bc1b3df026f39c854ea562127cf299de81bef9bf35f118c158", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3a0e6ea879822bc1b3df026f39c854ea562127cf299de81bef9bf35f118c158", kill_on_drop: false }`
[INFO] [stdout] e3a0e6ea879822bc1b3df026f39c854ea562127cf299de81bef9bf35f118c158
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8f6f87904c8921a156afe47657df9b0a7b4c746fe92da75da54d98e30da43fa9
[INFO] running `Command { std: "docker" "start" "-a" "8f6f87904c8921a156afe47657df9b0a7b4c746fe92da75da54d98e30da43fa9", kill_on_drop: false }`
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]     Checking tokio v1.47.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking clap_builder v4.5.42
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking axum-core v0.5.2
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking validator v0.20.0
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking inventory v0.3.20
[INFO] [stderr]     Checking sys-locale v0.3.2
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking clap v4.5.42
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking async-compression v0.4.27
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking h2 v0.4.11
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.16
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.8.4
[INFO] [stderr]     Checking reqwest v0.12.22
[INFO] [stderr]     Checking next-web-core v0.1.4
[INFO] [stderr]     Checking next-web-ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `model_request::ModelRequest`, `model_response::ModelResponse`, and `model_result::ModelResult`
[INFO] [stdout]  --> src/chat/model/chat_model.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |         model::Model, model_request::ModelRequest, model_response::ModelResponse,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         model_result::ModelResult,
[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: `model_request::ModelRequest`, `model_response::ModelResponse`, and `model_result::ModelResult`
[INFO] [stdout]  --> src/model/model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     model_request::ModelRequest, model_response::ModelResponse, model_result::ModelResult,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `autoconfigure::context`
[INFO] [stdout]  --> src/observation/observation_handler.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use next_web_core::{autoconfigure::context, DynClone};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time`
[INFO] [stdout]  --> src/observation/simple_event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::time;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `autoconfigure::context` and `convert::into_box::IntoBox`
[INFO] [stdout]  --> src/observation/simple_observation.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use next_web_core::{autoconfigure::context, convert::into_box::IntoBox};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `model_request::ModelRequest`, `model_response::ModelResponse`, and `model_result::ModelResult`
[INFO] [stdout]  --> src/chat/model/chat_model.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |         model::Model, model_request::ModelRequest, model_response::ModelResponse,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         model_result::ModelResult,
[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: `model_request::ModelRequest`, `model_response::ModelResponse`, and `model_result::ModelResult`
[INFO] [stdout]  --> src/model/model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     model_request::ModelRequest, model_response::ModelResponse, model_result::ModelResult,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `autoconfigure::context`
[INFO] [stdout]  --> src/observation/observation_handler.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use next_web_core::{autoconfigure::context, DynClone};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time`
[INFO] [stdout]  --> src/observation/simple_event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::time;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `autoconfigure::context` and `convert::into_box::IntoBox`
[INFO] [stdout]  --> src/observation/simple_observation.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use next_web_core::{autoconfigure::context, convert::into_box::IntoBox};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             response: todo!(),
[INFO] [stdout]     |                       ------- any code following this expression is unreachable
[INFO] [stdout] 115 |             entity,
[INFO] [stdout]     |             ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             response: todo!(),
[INFO] [stdout]     |                       ------- any code following this expression is unreachable
[INFO] [stdout] 115 |             entity,
[INFO] [stdout]     |             ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `observation_convention::ObservationConvention`
[INFO] [stdout]   --> src/chat/observation/chat_model_observation_documentation.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     observation_convention::ObservationConvention,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chat::observation::observation_convention::ObservationConvention`
[INFO] [stdout]  --> src/observation/simple_observation.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     chat::observation::observation_convention::ObservationConvention,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Converter`
[INFO] [stdout]   --> src/chat/client/default_chat_client.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     convert::converter::{Converter, StructuredOutputConverter},
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `observation_convention::ObservationConvention`
[INFO] [stdout]   --> src/chat/observation/chat_model_observation_documentation.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     observation_convention::ObservationConvention,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chat::observation::observation_convention::ObservationConvention`
[INFO] [stdout]  --> src/observation/simple_observation.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     chat::observation::observation_convention::ObservationConvention,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Converter`
[INFO] [stdout]   --> src/chat/client/default_chat_client.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     convert::converter::{Converter, StructuredOutputConverter},
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system_message`
[INFO] [stdout]   --> src/ai/deep_seek/deep_seek_chat_model.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let system_message = system_messages.first();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/ai/deep_seek/deep_seek_chat_model.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |         if let Some(options) = self.options.as_ref() {}
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/ai/deep_seek/deep_seek_chat_model.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         if let Some(options) = prompt.options() {}
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system_message`
[INFO] [stdout]   --> src/ai/deep_seek/deep_seek_chat_model.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let system_message = system_messages.first();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/ai/deep_seek/deep_seek_chat_model.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |         if let Some(options) = self.options.as_ref() {}
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/ai/deep_seek/deep_seek_chat_model.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         if let Some(options) = prompt.options() {}
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let entity = output_converter.convert(resp_content);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let entity = output_converter.convert(resp_content);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/chat/meta_data/chat_response_meta_data.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn get<T>(&self, key: impl AsRef<str>) -> T {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/chat/meta_data/chat_response_meta_data.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_or_default<T>(&self, key: impl AsRef<str>, default: T) -> T {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/chat/meta_data/chat_response_meta_data.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_or_default<T>(&self, key: impl AsRef<str>, default: T) -> T {
[INFO] [stdout]    |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registry`
[INFO] [stdout]   --> src/chat/observation/chat_model_observation_context.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |         registry: &dyn crate::observation::observation_registry::ObservationRegistry,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_values`
[INFO] [stdout]   --> src/chat/observation/chat_model_observation_context.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         key_values: crate::util::key_values::KeyValues<Box<dyn crate::util::key_value::KeyValue>>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/chat/meta_data/chat_response_meta_data.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn get<T>(&self, key: impl AsRef<str>) -> T {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/chat/meta_data/chat_response_meta_data.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_or_default<T>(&self, key: impl AsRef<str>, default: T) -> T {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/chat/meta_data/chat_response_meta_data.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_or_default<T>(&self, key: impl AsRef<str>, default: T) -> T {
[INFO] [stdout]    |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/default_chat_model_observation_convention.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn supports_context(&self, context: &dyn crate::observation::observation::Context) -> bool {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registry`
[INFO] [stdout]   --> src/chat/observation/chat_model_observation_context.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |         registry: &dyn crate::observation::observation_registry::ObservationRegistry,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_values`
[INFO] [stdout]   --> src/chat/observation/chat_model_observation_context.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         key_values: crate::util::key_values::KeyValues<Box<dyn crate::util::key_value::KeyValue>>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/observation_convention.rs:12:42
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn low_cardinality_key_values(&self, context: &dyn Context) -> KeyValues<Box<dyn KeyValue>> {
[INFO] [stdout]    |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/observation_convention.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn high_cardinality_key_values(&self, context: &dyn Context) -> KeyValues<Box<dyn KeyValue>> {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/observation_convention.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn contextual_name(&self, context: &dyn Context) -> Option<&str> {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/default_chat_model_observation_convention.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn supports_context(&self, context: &dyn crate::observation::observation::Context) -> bool {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contextual_name`
[INFO] [stdout]   --> src/observation/noop_observation.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn contextual_name(&mut self, contextual_name: &str) {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contextual_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_observation`
[INFO] [stdout]   --> src/observation/noop_observation.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn parent_observation(&mut self, parent_observation: Box<dyn Observation>) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_observation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]   --> src/observation/noop_observation.rs:34:45
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn low_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]    |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/observation_convention.rs:12:42
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn low_cardinality_key_values(&self, context: &dyn Context) -> KeyValues<Box<dyn KeyValue>> {
[INFO] [stdout]    |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]   --> src/observation/noop_observation.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn high_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `observation_convention`
[INFO] [stdout]   --> src/observation/noop_observation.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         observation_convention: super::observation_documentation::BoxObservationConvention,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_observation_convention`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/observation/noop_observation.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn error(&mut self, error: &next_web_core::error::BoxError) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/observation_convention.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn high_cardinality_key_values(&self, context: &dyn Context) -> KeyValues<Box<dyn KeyValue>> {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/observation/noop_observation.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn event(&mut self, event: Box<dyn super::observation::Event>) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/chat/observation/observation_convention.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn contextual_name(&self, context: &dyn Context) -> Option<&str> {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contextual_name`
[INFO] [stdout]   --> src/observation/noop_observation.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn contextual_name(&mut self, contextual_name: &str) {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contextual_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_observation`
[INFO] [stdout]   --> src/observation/noop_observation.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn parent_observation(&mut self, parent_observation: Box<dyn Observation>) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_observation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]   --> src/observation/noop_observation.rs:34:45
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn low_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]    |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]   --> src/observation/noop_observation.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn high_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `observation_convention`
[INFO] [stdout]   --> src/observation/noop_observation.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         observation_convention: super::observation_documentation::BoxObservationConvention,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_observation_convention`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/observation/noop_observation.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn error(&mut self, error: &next_web_core::error::BoxError) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/observation/noop_observation.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn event(&mut self, event: Box<dyn super::observation::Event>) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registry`
[INFO] [stdout]    --> src/observation/observation.rs:171:55
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn set_parent_from_current_observation(&mut self, registry: &dyn ObservationRegistry) {}
[INFO] [stdout]     |                                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/observation/observation.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn set_name(&mut self, name: &str) {}
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_values`
[INFO] [stdout]    --> src/observation/observation.rs:175:50
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn add_low_cardinality_key_values(&mut self, key_values: KeyValues<Box<dyn KeyValue>>) {}
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contextual_name`
[INFO] [stdout]    --> src/observation/observation.rs:177:39
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn set_contextual_name(&mut self, contextual_name: &str) {}
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contextual_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registry`
[INFO] [stdout]    --> src/observation/observation.rs:171:55
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn set_parent_from_current_observation(&mut self, registry: &dyn ObservationRegistry) {}
[INFO] [stdout]     |                                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/observation/observation.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn set_name(&mut self, name: &str) {}
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_values`
[INFO] [stdout]    --> src/observation/observation.rs:175:50
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn add_low_cardinality_key_values(&mut self, key_values: KeyValues<Box<dyn KeyValue>>) {}
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contextual_name`
[INFO] [stdout]    --> src/observation/observation.rs:177:39
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn set_contextual_name(&mut self, contextual_name: &str) {}
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contextual_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_observation`
[INFO] [stdout]    --> src/observation/simple_observation.rs:146:38
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn parent_observation(&mut self, parent_observation: Box<dyn Observation>) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_observation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]    --> src/observation/simple_observation.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn low_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]     |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]    --> src/observation/simple_observation.rs:154:46
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn high_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]     |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `observation_convention`
[INFO] [stdout]    --> src/observation/simple_observation.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn observation_convention(&mut self, observation_convention: BoxObservationConvention) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_observation_convention`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/observation/simple_observation.rs:162:25
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn error(&mut self, error: &next_web_core::error::BoxError) {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/observation/simple_observation.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn event(&mut self, event: Box<dyn super::observation::Event>) {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_observation`
[INFO] [stdout]    --> src/observation/simple_observation.rs:146:38
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn parent_observation(&mut self, parent_observation: Box<dyn Observation>) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_observation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]    --> src/observation/simple_observation.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn low_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]     |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]    --> src/observation/simple_observation.rs:154:46
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn high_cardinality_key_value(&mut self, key_value: Box<dyn crate::util::key_value::KeyValue>) {
[INFO] [stdout]     |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `observation_convention`
[INFO] [stdout]    --> src/observation/simple_observation.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn observation_convention(&mut self, observation_convention: BoxObservationConvention) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_observation_convention`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/observation/simple_observation.rs:162:25
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn error(&mut self, error: &next_web_core::error::BoxError) {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/observation/simple_observation.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn event(&mut self, event: Box<dyn super::observation::Event>) {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chat_model` is never read
[INFO] [stdout]   --> src/ai/deep_seek/api/deep_seek_api.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DeepSeekApi {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) chat_model: ChatModel,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeepSeekApi` has a derived impl for the trait `Clone`, but this is 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: multiple fields are never read
[INFO] [stdout]  --> src/ai/deep_seek/deep_seek_chat_options.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct DeepSeekChatOptions {
[INFO] [stdout]   |            ------------------- fields in this struct
[INFO] [stdout] 3 |     model: Box<str>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 4 |     frequency_penalty: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     max_tokens: u64,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     presence_penalty: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     response_format: Box<str>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     stop: Vec<String>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 9 |     top_p: f64,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DeepSeekChatOptions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chat_model` and `advisors` are never read
[INFO] [stdout]   --> src/chat/client/default_chat_client.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct DefaultChatClientRequestSpec {
[INFO] [stdout]    |            ---------------------------- fields in this struct
[INFO] [stdout] 60 |     pub(crate) chat_model: Box<dyn ChatModel>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 61 |     pub(crate) messages: Vec<Box<dyn Message>>,
[INFO] [stdout] 62 |     pub(crate) advisors: Vec<Box<dyn Advisor>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefaultChatClientRequestSpec` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct DefaultCallResponseSpec {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] 103 |     pub(crate) request: DefaultChatClientRequestSpec,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `do_response_entity` is never used
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl DefaultCallResponseSpec {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] 107 |     fn do_response_entity<T, C>(&self, output_converter: C) -> ResponseEntity<ChatResponse, T>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct DefaultStreamResponseSpec {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 145 |     request: DefaultChatClientRequestSpec,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `metadata`, `finish_reason`, and `content_filters` are never read
[INFO] [stdout]   --> src/chat/meta_data/default_chat_generation_metadata.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct DefaultChatGenerationMetadata {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 10 |     pub(crate) metadata: Option<HashMap<String, String>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) finish_reason: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) content_filters: Option<HashSet<Box<str>>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefaultChatGenerationMetadata` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request_model_none` and `response_model_name` are never read
[INFO] [stdout]   --> src/chat/observation/default_chat_model_observation_convention.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct DefaultChatModelObservationConvention {
[INFO] [stdout]    |            ------------------------------------- fields in this struct
[INFO] [stdout] 16 |     request_model_none: Box<dyn KeyValue>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     response_model_name: Box<dyn KeyValue>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefaultChatModelObservationConvention` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `low_cardinality_key_values` and `high_cardinality_key_values` are never read
[INFO] [stdout]   --> src/chat/observation/model_observation_context.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ModelObservationContext<Q, R> {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) low_cardinality_key_values: BTreeMap<String, Box<dyn KeyValue>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) high_cardinality_key_values: BTreeMap<String, Box<dyn KeyValue>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelObservationContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `messages` is never read
[INFO] [stdout]   --> src/chat/prompt/prompt.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Prompt {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 13 |     messages: Vec<Box<dyn Message>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Prompt` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `observation_config` is never read
[INFO] [stdout]  --> src/observation/noop_observation_registry.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct NoopObservationRegistry {
[INFO] [stdout]   |            ----------------------- field in this struct
[INFO] [stdout] 5 |     observation_config: Option<ObservationConfig>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NoopObservationRegistry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `contextual_name` and `wall_time` are never read
[INFO] [stdout]  --> src/observation/simple_event.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SimpleEvent {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 6 |     name: String,
[INFO] [stdout] 7 |     contextual_name: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     wall_time: u64,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chat_model` is never read
[INFO] [stdout]   --> src/ai/deep_seek/api/deep_seek_api.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DeepSeekApi {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) chat_model: ChatModel,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeepSeekApi` has a derived impl for the trait `Clone`, but this is 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: multiple fields are never read
[INFO] [stdout]  --> src/ai/deep_seek/deep_seek_chat_options.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct DeepSeekChatOptions {
[INFO] [stdout]   |            ------------------- fields in this struct
[INFO] [stdout] 3 |     model: Box<str>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 4 |     frequency_penalty: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     max_tokens: u64,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     presence_penalty: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     response_format: Box<str>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     stop: Vec<String>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 9 |     top_p: f64,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DeepSeekChatOptions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registry` is never read
[INFO] [stdout]   --> src/observation/simple_observation.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SimpleObservation {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 18 |     pub(crate) context: Box<dyn Context>,
[INFO] [stdout] 19 |     pub(crate) registry: Box<dyn ObservationRegistry>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chat_model` and `advisors` are never read
[INFO] [stdout]   --> src/chat/client/default_chat_client.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct DefaultChatClientRequestSpec {
[INFO] [stdout]    |            ---------------------------- fields in this struct
[INFO] [stdout] 60 |     pub(crate) chat_model: Box<dyn ChatModel>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 61 |     pub(crate) messages: Vec<Box<dyn Message>>,
[INFO] [stdout] 62 |     pub(crate) advisors: Vec<Box<dyn Advisor>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefaultChatClientRequestSpec` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct DefaultCallResponseSpec {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] 103 |     pub(crate) request: DefaultChatClientRequestSpec,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `do_response_entity` is never used
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl DefaultCallResponseSpec {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] 107 |     fn do_response_entity<T, C>(&self, output_converter: C) -> ResponseEntity<ChatResponse, T>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]    --> src/chat/client/default_chat_client.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct DefaultStreamResponseSpec {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 145 |     request: DefaultChatClientRequestSpec,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `metadata`, `finish_reason`, and `content_filters` are never read
[INFO] [stdout]   --> src/chat/meta_data/default_chat_generation_metadata.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct DefaultChatGenerationMetadata {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 10 |     pub(crate) metadata: Option<HashMap<String, String>>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) finish_reason: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub(crate) content_filters: Option<HashSet<Box<str>>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefaultChatGenerationMetadata` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request_model_none` and `response_model_name` are never read
[INFO] [stdout]   --> src/chat/observation/default_chat_model_observation_convention.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct DefaultChatModelObservationConvention {
[INFO] [stdout]    |            ------------------------------------- fields in this struct
[INFO] [stdout] 16 |     request_model_none: Box<dyn KeyValue>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     response_model_name: Box<dyn KeyValue>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefaultChatModelObservationConvention` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `low_cardinality_key_values` and `high_cardinality_key_values` are never read
[INFO] [stdout]   --> src/chat/observation/model_observation_context.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ModelObservationContext<Q, R> {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) low_cardinality_key_values: BTreeMap<String, Box<dyn KeyValue>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) high_cardinality_key_values: BTreeMap<String, Box<dyn KeyValue>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelObservationContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `messages` is never read
[INFO] [stdout]   --> src/chat/prompt/prompt.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Prompt {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 13 |     messages: Vec<Box<dyn Message>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Prompt` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `observation_config` is never read
[INFO] [stdout]  --> src/observation/noop_observation_registry.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct NoopObservationRegistry {
[INFO] [stdout]   |            ----------------------- field in this struct
[INFO] [stdout] 5 |     observation_config: Option<ObservationConfig>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NoopObservationRegistry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `contextual_name` and `wall_time` are never read
[INFO] [stdout]  --> src/observation/simple_event.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SimpleEvent {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 6 |     name: String,
[INFO] [stdout] 7 |     contextual_name: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     wall_time: u64,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registry` is never read
[INFO] [stdout]   --> src/observation/simple_observation.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SimpleObservation {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 18 |     pub(crate) context: Box<dyn Context>,
[INFO] [stdout] 19 |     pub(crate) registry: Box<dyn ObservationRegistry>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.52s
[INFO] running `Command { std: "docker" "inspect" "8f6f87904c8921a156afe47657df9b0a7b4c746fe92da75da54d98e30da43fa9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f6f87904c8921a156afe47657df9b0a7b4c746fe92da75da54d98e30da43fa9", kill_on_drop: false }`
[INFO] [stdout] 8f6f87904c8921a156afe47657df9b0a7b4c746fe92da75da54d98e30da43fa9
