[INFO] fetching crate next-web-ai 0.1.0... [INFO] testing next-web-ai-0.1.0 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145330-1 [INFO] extracting crate next-web-ai 0.1.0 into /workspace/builds/worker-4-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-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate next-web-ai 0.1.0 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded inventory v0.3.20 [INFO] [stderr] Downloaded async-compression v0.4.27 [INFO] [stderr] Downloaded validator v0.20.0 [INFO] [stderr] Downloaded next-web-core v0.1.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 24aff60a6e43f4536bdc8d33f5bc73b068417c61efdd54bdba357cffd017f490 [INFO] running `Command { std: "docker" "start" "-a" "24aff60a6e43f4536bdc8d33f5bc73b068417c61efdd54bdba357cffd017f490", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "24aff60a6e43f4536bdc8d33f5bc73b068417c61efdd54bdba357cffd017f490", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "24aff60a6e43f4536bdc8d33f5bc73b068417c61efdd54bdba357cffd017f490", kill_on_drop: false }` [INFO] [stdout] 24aff60a6e43f4536bdc8d33f5bc73b068417c61efdd54bdba357cffd017f490 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b3d7adba6653bfb4ba72aca2a9ecf0e47ecb988589e15cdfd01dd19afd36acc [INFO] running `Command { std: "docker" "start" "-a" "2b3d7adba6653bfb4ba72aca2a9ecf0e47ecb988589e15cdfd01dd19afd36acc", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling inventory v0.3.20 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling clap_builder v4.5.42 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling clap_derive v4.5.41 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling tokio v1.47.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling axum-core v0.5.2 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.2 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling clap v4.5.42 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling async-compression v0.4.27 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.17 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling validator v0.20.0 [INFO] [stderr] Compiling h2 v0.4.11 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling hyper v1.6.0 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.8.4 [INFO] [stderr] Compiling reqwest v0.12.22 [INFO] [stderr] Compiling next-web-core v0.1.4 [INFO] [stderr] Compiling 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)]` 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)]` 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 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)]` 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: `key` [INFO] [stdout] --> src/chat/meta_data/chat_response_meta_data.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | fn get(&self, key: impl AsRef) -> 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(&self, key: impl AsRef, 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(&self, key: impl AsRef, 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>, [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/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: `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> { [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> { [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: `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) { [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) { [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) { [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) { [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>) {} [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) { [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) { [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) { [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) { [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)]` 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, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | stop: Vec, [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, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | pub(crate) messages: Vec>, [INFO] [stdout] 62 | pub(crate) advisors: Vec>, [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(&self, output_converter: C) -> ResponseEntity [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>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | pub(crate) finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub(crate) content_filters: Option>>, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | response_model_name: Box, [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 { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub(crate) low_cardinality_key_values: BTreeMap>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub(crate) high_cardinality_key_values: BTreeMap>, [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>, [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, [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, [INFO] [stdout] 19 | pub(crate) registry: Box, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.66s [INFO] running `Command { std: "docker" "inspect" "2b3d7adba6653bfb4ba72aca2a9ecf0e47ecb988589e15cdfd01dd19afd36acc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b3d7adba6653bfb4ba72aca2a9ecf0e47ecb988589e15cdfd01dd19afd36acc", kill_on_drop: false }` [INFO] [stdout] 2b3d7adba6653bfb4ba72aca2a9ecf0e47ecb988589e15cdfd01dd19afd36acc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c7bc8c76a858eb34dcda53434de9e47753acbeae3ed35a0dc959135477dc3f1a [INFO] running `Command { std: "docker" "start" "-a" "c7bc8c76a858eb34dcda53434de9e47753acbeae3ed35a0dc959135477dc3f1a", kill_on_drop: false }` [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)]` 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)]` 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 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)]` 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: `key` [INFO] [stdout] --> src/chat/meta_data/chat_response_meta_data.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | fn get(&self, key: impl AsRef) -> 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(&self, key: impl AsRef, 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(&self, key: impl AsRef, 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>, [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/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: `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> { [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> { [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: `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) { [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) { [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) { [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) { [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>) {} [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) { [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) { [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) { [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) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling next-web-ai v0.1.0 (/opt/rustwide/workdir) [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)]` 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, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | stop: Vec, [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, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | pub(crate) messages: Vec>, [INFO] [stdout] 62 | pub(crate) advisors: Vec>, [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(&self, output_converter: C) -> ResponseEntity [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>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | pub(crate) finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub(crate) content_filters: Option>>, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | response_model_name: Box, [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 { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub(crate) low_cardinality_key_values: BTreeMap>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub(crate) high_cardinality_key_values: BTreeMap>, [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>, [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, [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, [INFO] [stdout] 19 | pub(crate) registry: Box, [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)]` 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)]` 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 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)]` 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: `key` [INFO] [stdout] --> src/chat/meta_data/chat_response_meta_data.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | fn get(&self, key: impl AsRef) -> 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(&self, key: impl AsRef, 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(&self, key: impl AsRef, 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>, [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/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: `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> { [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> { [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: `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) { [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) { [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) { [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) { [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>) {} [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) { [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) { [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) { [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) { [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)]` 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, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | stop: Vec, [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, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | pub(crate) messages: Vec>, [INFO] [stdout] 62 | pub(crate) advisors: Vec>, [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(&self, output_converter: C) -> ResponseEntity [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>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | pub(crate) finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub(crate) content_filters: Option>>, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | response_model_name: Box, [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 { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub(crate) low_cardinality_key_values: BTreeMap>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub(crate) high_cardinality_key_values: BTreeMap>, [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>, [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, [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, [INFO] [stdout] 19 | pub(crate) registry: Box, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.95s [INFO] running `Command { std: "docker" "inspect" "c7bc8c76a858eb34dcda53434de9e47753acbeae3ed35a0dc959135477dc3f1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7bc8c76a858eb34dcda53434de9e47753acbeae3ed35a0dc959135477dc3f1a", kill_on_drop: false }` [INFO] [stdout] c7bc8c76a858eb34dcda53434de9e47753acbeae3ed35a0dc959135477dc3f1a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 01f2660c5c3d095f24b5d154dec9c4e1a7bdd3ab1604ec17d37ffe662ed5cde1 [INFO] running `Command { std: "docker" "start" "-a" "01f2660c5c3d095f24b5d154dec9c4e1a7bdd3ab1604ec17d37ffe662ed5cde1", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `model_request::ModelRequest`, `model_response::ModelResponse`, and `model_result::ModelResult` [INFO] [stderr] --> src/chat/model/chat_model.rs:6:23 [INFO] [stderr] | [INFO] [stderr] 6 | model::Model, model_request::ModelRequest, model_response::ModelResponse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | model_result::ModelResult, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `model_request::ModelRequest`, `model_response::ModelResponse`, and `model_result::ModelResult` [INFO] [stderr] --> src/model/model.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | model_request::ModelRequest, model_response::ModelResponse, model_result::ModelResult, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `autoconfigure::context` [INFO] [stderr] --> src/observation/observation_handler.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use next_web_core::{autoconfigure::context, DynClone}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::time` [INFO] [stderr] --> src/observation/simple_event.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use core::time; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `autoconfigure::context` and `convert::into_box::IntoBox` [INFO] [stderr] --> src/observation/simple_observation.rs:3:21 [INFO] [stderr] | [INFO] [stderr] 3 | use next_web_core::{autoconfigure::context, convert::into_box::IntoBox}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/chat/client/default_chat_client.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 114 | response: todo!(), [INFO] [stderr] | ------- any code following this expression is unreachable [INFO] [stderr] 115 | entity, [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `observation_convention::ObservationConvention` [INFO] [stderr] --> src/chat/observation/chat_model_observation_documentation.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | observation_convention::ObservationConvention, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chat::observation::observation_convention::ObservationConvention` [INFO] [stderr] --> src/observation/simple_observation.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | chat::observation::observation_convention::ObservationConvention, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Converter` [INFO] [stderr] --> src/chat/client/default_chat_client.rs:18:26 [INFO] [stderr] | [INFO] [stderr] 18 | convert::converter::{Converter, StructuredOutputConverter}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system_message` [INFO] [stderr] --> src/ai/deep_seek/deep_seek_chat_model.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let system_message = system_messages.first(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system_message` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `options` [INFO] [stderr] --> src/ai/deep_seek/deep_seek_chat_model.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | if let Some(options) = self.options.as_ref() {} [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `options` [INFO] [stderr] --> src/ai/deep_seek/deep_seek_chat_model.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | if let Some(options) = prompt.options() {} [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/chat/client/default_chat_client.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | let entity = output_converter.convert(resp_content); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/chat/meta_data/chat_response_meta_data.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | fn get(&self, key: impl AsRef) -> T { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/chat/meta_data/chat_response_meta_data.rs:28:33 [INFO] [stderr] | [INFO] [stderr] 28 | fn get_or_default(&self, key: impl AsRef, default: T) -> T { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `default` [INFO] [stderr] --> src/chat/meta_data/chat_response_meta_data.rs:28:55 [INFO] [stderr] | [INFO] [stderr] 28 | fn get_or_default(&self, key: impl AsRef, default: T) -> T { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `registry` [INFO] [stderr] --> src/chat/observation/chat_model_observation_context.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | registry: &dyn crate::observation::observation_registry::ObservationRegistry, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_values` [INFO] [stderr] --> src/chat/observation/chat_model_observation_context.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | key_values: crate::util::key_values::KeyValues>, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_values` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/chat/observation/default_chat_model_observation_convention.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | fn supports_context(&self, context: &dyn crate::observation::observation::Context) -> bool { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/chat/observation/observation_convention.rs:12:42 [INFO] [stderr] | [INFO] [stderr] 12 | fn low_cardinality_key_values(&self, context: &dyn Context) -> KeyValues> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/chat/observation/observation_convention.rs:16:43 [INFO] [stderr] | [INFO] [stderr] 16 | fn high_cardinality_key_values(&self, context: &dyn Context) -> KeyValues> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/chat/observation/observation_convention.rs:26:31 [INFO] [stderr] | [INFO] [stderr] 26 | fn contextual_name(&self, context: &dyn Context) -> Option<&str> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contextual_name` [INFO] [stderr] --> src/observation/noop_observation.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | fn contextual_name(&mut self, contextual_name: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contextual_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parent_observation` [INFO] [stderr] --> src/observation/noop_observation.rs:30:38 [INFO] [stderr] | [INFO] [stderr] 30 | fn parent_observation(&mut self, parent_observation: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_observation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_value` [INFO] [stderr] --> src/observation/noop_observation.rs:34:45 [INFO] [stderr] | [INFO] [stderr] 34 | fn low_cardinality_key_value(&mut self, key_value: Box) { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_value` [INFO] [stderr] --> src/observation/noop_observation.rs:38:46 [INFO] [stderr] | [INFO] [stderr] 38 | fn high_cardinality_key_value(&mut self, key_value: Box) { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `observation_convention` [INFO] [stderr] --> src/observation/noop_observation.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | observation_convention: super::observation_documentation::BoxObservationConvention, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_observation_convention` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `error` [INFO] [stderr] --> src/observation/noop_observation.rs:49:25 [INFO] [stderr] | [INFO] [stderr] 49 | fn error(&mut self, error: &next_web_core::error::BoxError) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/observation/noop_observation.rs:53:25 [INFO] [stderr] | [INFO] [stderr] 53 | fn event(&mut self, event: Box) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `registry` [INFO] [stderr] --> src/observation/observation.rs:171:55 [INFO] [stderr] | [INFO] [stderr] 171 | fn set_parent_from_current_observation(&mut self, registry: &dyn ObservationRegistry) {} [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/observation/observation.rs:173:28 [INFO] [stderr] | [INFO] [stderr] 173 | fn set_name(&mut self, name: &str) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_values` [INFO] [stderr] --> src/observation/observation.rs:175:50 [INFO] [stderr] | [INFO] [stderr] 175 | fn add_low_cardinality_key_values(&mut self, key_values: KeyValues>) {} [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_values` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contextual_name` [INFO] [stderr] --> src/observation/observation.rs:177:39 [INFO] [stderr] | [INFO] [stderr] 177 | fn set_contextual_name(&mut self, contextual_name: &str) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contextual_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parent_observation` [INFO] [stderr] --> src/observation/simple_observation.rs:146:38 [INFO] [stderr] | [INFO] [stderr] 146 | fn parent_observation(&mut self, parent_observation: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_observation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_value` [INFO] [stderr] --> src/observation/simple_observation.rs:150:45 [INFO] [stderr] | [INFO] [stderr] 150 | fn low_cardinality_key_value(&mut self, key_value: Box) { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_value` [INFO] [stderr] --> src/observation/simple_observation.rs:154:46 [INFO] [stderr] | [INFO] [stderr] 154 | fn high_cardinality_key_value(&mut self, key_value: Box) { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `observation_convention` [INFO] [stderr] --> src/observation/simple_observation.rs:158:42 [INFO] [stderr] | [INFO] [stderr] 158 | fn observation_convention(&mut self, observation_convention: BoxObservationConvention) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_observation_convention` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `error` [INFO] [stderr] --> src/observation/simple_observation.rs:162:25 [INFO] [stderr] | [INFO] [stderr] 162 | fn error(&mut self, error: &next_web_core::error::BoxError) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/observation/simple_observation.rs:166:25 [INFO] [stderr] | [INFO] [stderr] 166 | fn event(&mut self, event: Box) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] [INFO] [stderr] warning: field `chat_model` is never read [INFO] [stderr] --> src/ai/deep_seek/api/deep_seek_api.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct DeepSeekApi { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 16 | pub(crate) chat_model: ChatModel, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DeepSeekApi` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/ai/deep_seek/deep_seek_chat_options.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 2 | pub struct DeepSeekChatOptions { [INFO] [stderr] | ------------------- fields in this struct [INFO] [stderr] 3 | model: Box, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 4 | frequency_penalty: f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 5 | max_tokens: u64, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 6 | presence_penalty: f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | response_format: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 8 | stop: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] 9 | top_p: f64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DeepSeekChatOptions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `chat_model` and `advisors` are never read [INFO] [stderr] --> src/chat/client/default_chat_client.rs:60:16 [INFO] [stderr] | [INFO] [stderr] 59 | pub struct DefaultChatClientRequestSpec { [INFO] [stderr] | ---------------------------- fields in this struct [INFO] [stderr] 60 | pub(crate) chat_model: Box, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 61 | pub(crate) messages: Vec>, [INFO] [stderr] 62 | pub(crate) advisors: Vec>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DefaultChatClientRequestSpec` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `request` is never read [INFO] [stderr] --> src/chat/client/default_chat_client.rs:103:16 [INFO] [stderr] | [INFO] [stderr] 102 | pub struct DefaultCallResponseSpec { [INFO] [stderr] | ----------------------- field in this struct [INFO] [stderr] 103 | pub(crate) request: DefaultChatClientRequestSpec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `do_response_entity` is never used [INFO] [stderr] --> src/chat/client/default_chat_client.rs:107:8 [INFO] [stderr] | [INFO] [stderr] 106 | impl DefaultCallResponseSpec { [INFO] [stderr] | ---------------------------- method in this implementation [INFO] [stderr] 107 | fn do_response_entity(&self, output_converter: C) -> ResponseEntity [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `request` is never read [INFO] [stderr] --> src/chat/client/default_chat_client.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 144 | pub struct DefaultStreamResponseSpec { [INFO] [stderr] | ------------------------- field in this struct [INFO] [stderr] 145 | request: DefaultChatClientRequestSpec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `metadata`, `finish_reason`, and `content_filters` are never read [INFO] [stderr] --> src/chat/meta_data/default_chat_generation_metadata.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct DefaultChatGenerationMetadata { [INFO] [stderr] | ----------------------------- fields in this struct [INFO] [stderr] 10 | pub(crate) metadata: Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 11 | pub(crate) finish_reason: Option, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 12 | pub(crate) content_filters: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DefaultChatGenerationMetadata` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `request_model_none` and `response_model_name` are never read [INFO] [stderr] --> src/chat/observation/default_chat_model_observation_convention.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct DefaultChatModelObservationConvention { [INFO] [stderr] | ------------------------------------- fields in this struct [INFO] [stderr] 16 | request_model_none: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | response_model_name: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DefaultChatModelObservationConvention` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `low_cardinality_key_values` and `high_cardinality_key_values` are never read [INFO] [stderr] --> src/chat/observation/model_observation_context.rs:20:16 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct ModelObservationContext { [INFO] [stderr] | ----------------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 20 | pub(crate) low_cardinality_key_values: BTreeMap>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | pub(crate) high_cardinality_key_values: BTreeMap>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ModelObservationContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `messages` is never read [INFO] [stderr] --> src/chat/prompt/prompt.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Prompt { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 13 | messages: Vec>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Prompt` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `observation_config` is never read [INFO] [stderr] --> src/observation/noop_observation_registry.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct NoopObservationRegistry { [INFO] [stderr] | ----------------------- field in this struct [INFO] [stderr] 5 | observation_config: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NoopObservationRegistry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `contextual_name` and `wall_time` are never read [INFO] [stderr] --> src/observation/simple_event.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct SimpleEvent { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 6 | name: String, [INFO] [stderr] 7 | contextual_name: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 8 | wall_time: u64, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `registry` is never read [INFO] [stderr] --> src/observation/simple_observation.rs:19:16 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct SimpleObservation { [INFO] [stderr] | ----------------- field in this struct [INFO] [stderr] 18 | pub(crate) context: Box, [INFO] [stderr] 19 | pub(crate) registry: Box, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `next-web-ai` (lib) generated 52 warnings (run `cargo fix --lib -p next-web-ai` to apply 5 suggestions) [INFO] [stderr] warning: `next-web-ai` (lib test) generated 52 warnings (52 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/next_web_ai-a1c2b1133782cff9) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test tests::ai_tests::test_show ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests next_web_ai [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" "01f2660c5c3d095f24b5d154dec9c4e1a7bdd3ab1604ec17d37ffe662ed5cde1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01f2660c5c3d095f24b5d154dec9c4e1a7bdd3ab1604ec17d37ffe662ed5cde1", kill_on_drop: false }` [INFO] [stdout] 01f2660c5c3d095f24b5d154dec9c4e1a7bdd3ab1604ec17d37ffe662ed5cde1