[INFO] fetching crate rhine 0.1.8...
[INFO] checking rhine-0.1.8 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] extracting crate rhine 0.1.8 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate rhine 0.1.8
[INFO] finished tweaking crates.io crate rhine 0.1.8
[INFO] tweaked toml for crates.io crate rhine 0.1.8 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rhine 0.1.8 on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rhine 0.1.8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clia-tracing-appender v0.2.5
[INFO] [stderr]   Downloaded rhine-schema-derive v0.1.0
[INFO] [stderr]   Downloaded tz-rs v0.6.14
[INFO] [stderr]   Downloaded clia-local-offset v0.1.0
[INFO] [stderr]   Downloaded dashmap v7.0.0-rc2
[INFO] [stderr]   Downloaded error-stack v0.5.0
[INFO] [stderr]   Downloaded clia-tracing-config v0.2.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d2c38d76258b455aeae786705e981c102918c936ac4b9152be8b9272a1e0793
[INFO] running `Command { std: "docker" "start" "-a" "9d2c38d76258b455aeae786705e981c102918c936ac4b9152be8b9272a1e0793", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d2c38d76258b455aeae786705e981c102918c936ac4b9152be8b9272a1e0793", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d2c38d76258b455aeae786705e981c102918c936ac4b9152be8b9272a1e0793", kill_on_drop: false }`
[INFO] [stdout] 9d2c38d76258b455aeae786705e981c102918c936ac4b9152be8b9272a1e0793
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cd13728a101d9b4fccaf2388e72abde6b49e6576c92c3befeea1b782bc76f4a8
[INFO] running `Command { std: "docker" "start" "-a" "cd13728a101d9b4fccaf2388e72abde6b49e6576c92c3befeea1b782bc76f4a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling time-core v0.1.5
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]     Checking regex-syntax v0.8.6
[INFO] [stderr]     Checking deranged v0.5.3
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking tz-rs v0.6.14
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling error-stack v0.5.0
[INFO] [stderr]     Checking winnow v0.7.13
[INFO] [stderr]    Compiling cc v1.2.35
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling time-macros v0.2.23
[INFO] [stderr]     Checking indexmap v2.11.0
[INFO] [stderr]     Checking dashmap v7.0.0-rc2
[INFO] [stderr]     Checking time v0.3.42
[INFO] [stderr]     Checking toml_parser v1.0.2
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking regex-automata v0.4.10
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking clia-local-offset v0.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.11.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[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 thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling rhine-schema-derive v0.1.0
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking thiserror v2.0.16
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking serde_spanned v1.0.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_datetime v0.7.0
[INFO] [stderr]     Checking toml v0.9.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking clia-tracing-appender v0.2.5
[INFO] [stderr]     Checking clia-tracing-config v0.2.7
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking hyper-util v0.1.16
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.23
[INFO] [stderr]     Checking rhine v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/chat/chat_base.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/chat/chat_multi.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/chat/chat_multi.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tests::prompt::test_prompt`
[INFO] [stdout]  --> src/tests/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tests::prompt::test_prompt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod tests;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tests::chat::test_chat`
[INFO] [stdout]  --> src/tests/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tests::chat::test_chat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod tests;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tool_use/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/chat/chat_base.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/chat/chat_multi.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/chat/chat_multi.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tests::prompt::test_prompt`
[INFO] [stdout]  --> src/tests/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tests::prompt::test_prompt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tool_use/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `prompt::model::Prompt::character_unchecked`: 请使用返回Result的character函数代替
[INFO] [stdout]    --> src/prompt/model.rs:352:14
[INFO] [stdout]     |
[INFO] [stdout] 352 |         self.character_unchecked("assistant")
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `prompt::model::Prompts::init_unchecked`: 请使用返回Result的init函数代替
[INFO] [stdout]  --> src/prompt/mod.rs:8:56
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static PROMPTS: Lazy<Prompts> = Lazy::new(Prompts::init_unchecked);
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `prompt::model::Prompt::character_unchecked`: 请使用返回Result的character函数代替
[INFO] [stdout]    --> src/prompt/model.rs:352:14
[INFO] [stdout]     |
[INFO] [stdout] 352 |         self.character_unchecked("assistant")
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `prompt::model::Prompts::init_unchecked`: 请使用返回Result的init函数代替
[INFO] [stdout]  --> src/prompt/mod.rs:8:56
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static PROMPTS: Lazy<Prompts> = Lazy::new(Prompts::init_unchecked);
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/tool_use/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let env = ENV_POOL.get(key).unwrap();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_test_block` is never used
[INFO] [stdout]   --> src/tests/mod.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn format_test_block<F>(title: &str, content_fn: F)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prompt` is never used
[INFO] [stdout]  --> src/tests/prompt.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn test_prompt() {
[INFO] [stdout]   |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_json_schema` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | async fn test_json_schema() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_tool_schema` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | async fn test_tool_schema() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_tool_registry` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | async fn test_tool_registry() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_assemble_output_discription` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | async fn test_assemble_output_discription() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_assemble_tools_prompt` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn test_assemble_tools_prompt() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StudentInfo` is never constructed
[INFO] [stdout]   --> src/tests/prompt.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct StudentInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_chat` is never used
[INFO] [stdout]  --> src/tests/chat.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub async fn test_chat() {
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_single_chat` is never used
[INFO] [stdout]   --> src/tests/chat.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | async fn test_single_chat() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_single_chat_get_json` is never used
[INFO] [stdout]   --> src/tests/chat.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | async fn test_single_chat_get_json() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_single_chat_get_tool` is never used
[INFO] [stdout]   --> src/tests/chat.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn test_single_chat_get_tool() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StudentInfo` is never constructed
[INFO] [stdout]   --> src/tests/chat.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct StudentInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]   --> src/tool_use/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Environment {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_env` is never used
[INFO] [stdout]   --> src/tool_use/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn add_env(key: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_env` is never used
[INFO] [stdout]   --> src/tool_use/mod.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn remove_env(key: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ENV_POOL` is never used
[INFO] [stdout]   --> src/tool_use/mod.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub static ENV_POOL: Lazy<DashMap<String, Environment>> = Lazy::new(|| DashMap::new());
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tests/chat.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     chat.set_tools(vec![send_email_tool_schema()]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let _ = chat.set_tools(vec![send_email_tool_schema()]);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/tool_use/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let env = ENV_POOL.get(key).unwrap();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prompt` is never used
[INFO] [stdout]  --> src/tests/prompt.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn test_prompt() {
[INFO] [stdout]   |              ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_json_schema` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | async fn test_json_schema() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_tool_schema` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | async fn test_tool_schema() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_tool_registry` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | async fn test_tool_registry() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_assemble_output_discription` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | async fn test_assemble_output_discription() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_assemble_tools_prompt` is never used
[INFO] [stdout]   --> src/tests/prompt.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn test_assemble_tools_prompt() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StudentInfo` is never constructed
[INFO] [stdout]   --> src/tests/prompt.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct StudentInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_single_chat_get_json` is never used
[INFO] [stdout]   --> src/tests/chat.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | async fn test_single_chat_get_json() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_single_chat_get_tool` is never used
[INFO] [stdout]   --> src/tests/chat.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn test_single_chat_get_tool() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StudentInfo` is never constructed
[INFO] [stdout]   --> src/tests/chat.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct StudentInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]   --> src/tool_use/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Environment {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_env` is never used
[INFO] [stdout]   --> src/tool_use/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn add_env(key: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_env` is never used
[INFO] [stdout]   --> src/tool_use/mod.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn remove_env(key: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ENV_POOL` is never used
[INFO] [stdout]   --> src/tool_use/mod.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub static ENV_POOL: Lazy<DashMap<String, Environment>> = Lazy::new(|| DashMap::new());
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tests/chat.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     chat.set_tools(vec![send_email_tool_schema()]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let _ = chat.set_tools(vec![send_email_tool_schema()]);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.83s
[INFO] running `Command { std: "docker" "inspect" "cd13728a101d9b4fccaf2388e72abde6b49e6576c92c3befeea1b782bc76f4a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd13728a101d9b4fccaf2388e72abde6b49e6576c92c3befeea1b782bc76f4a8", kill_on_drop: false }`
[INFO] [stdout] cd13728a101d9b4fccaf2388e72abde6b49e6576c92c3befeea1b782bc76f4a8
