[INFO] cloning repository https://github.com/OxygenCobalt/asimov
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OxygenCobalt/asimov" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOxygenCobalt%2Fasimov", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOxygenCobalt%2Fasimov'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d06bf826f2ee013d2a5d2f6e37c5846882bbf032
[INFO] building OxygenCobalt/asimov against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOxygenCobalt%2Fasimov" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/OxygenCobalt/asimov
[INFO] finished tweaking git repo https://github.com/OxygenCobalt/asimov
[INFO] tweaked toml for git repo https://github.com/OxygenCobalt/asimov written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/OxygenCobalt/asimov on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/OxygenCobalt/asimov 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a60aabf4802591c05aee3fc81c35e995a941a214faf8337ec9f6f726c56930aa
[INFO] running `Command { std: "docker" "start" "-a" "a60aabf4802591c05aee3fc81c35e995a941a214faf8337ec9f6f726c56930aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a60aabf4802591c05aee3fc81c35e995a941a214faf8337ec9f6f726c56930aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a60aabf4802591c05aee3fc81c35e995a941a214faf8337ec9f6f726c56930aa", kill_on_drop: false }`
[INFO] [stdout] a60aabf4802591c05aee3fc81c35e995a941a214faf8337ec9f6f726c56930aa
[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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 774e8c399d7a1b852d051aac06de8d919821df6a0e7c3242f375fafc4fa1f4f1
[INFO] running `Command { std: "docker" "start" "-a" "774e8c399d7a1b852d051aac06de8d919821df6a0e7c3242f375fafc4fa1f4f1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling cc v1.2.20
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling jiff v0.2.10
[INFO] [stderr]    Compiling dyn-clone v1.0.19
[INFO] [stderr]    Compiling colored v3.0.0
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling tokio v1.44.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling h2 v0.4.9
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.11
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.15
[INFO] [stderr]    Compiling asimov v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `ThreeDotFiveSonnet` is never constructed
[INFO] [stdout]   --> src/anthropic/mod.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum Claude {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 59 |     /// Claude 3.5 Sonnet.
[INFO] [stdout] 60 |     ThreeDotFiveSonnet,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Claude` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/core/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     IO(std::io::Error),
[INFO] [stdout]   |     -- ^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     IO(std::io::Error),
[INFO] [stdout] 9 +     IO(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/mod.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Reqwest(reqwest::Error),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     Reqwest(reqwest::Error),
[INFO] [stdout] 11 +     Reqwest(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/mod.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Serde(serde_json::Error),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     Serde(serde_json::Error),
[INFO] [stdout] 13 +     Serde(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/mod.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Provider(String),
[INFO] [stdout]    |     -------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     Provider(String),
[INFO] [stdout] 15 +     Provider(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Local` is never constructed
[INFO] [stdout]   --> src/core/llm.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum Function {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 45 |     /// A local function, provided in the codebase. Compatible with all models.
[INFO] [stdout] 46 |     Local {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Function` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/core/llm.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct Completion {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 106 |     /// Model usage statistics.
[INFO] [stdout] 107 |     pub usage: Usage,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Completion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]    --> src/core/llm.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct Usage {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 115 |     /// The number of input tokens used.
[INFO] [stdout] 116 |     pub input_tokens: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 117 |     /// The number of output tokens used.
[INFO] [stdout] 118 |     pub output_tokens: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Usage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LocalTool` is never used
[INFO] [stdout]  --> src/core/tool.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait LocalTool {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local` is never used
[INFO] [stdout]   --> src/core/tool.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a> Toolbox<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn local<T: LocalTool + 'a>(mut self, tool: T) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalDynTool` is never constructed
[INFO] [stdout]   --> src/core/tool.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct LocalDynTool<T: LocalTool>(T);
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.33s
[INFO] running `Command { std: "docker" "inspect" "774e8c399d7a1b852d051aac06de8d919821df6a0e7c3242f375fafc4fa1f4f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "774e8c399d7a1b852d051aac06de8d919821df6a0e7c3242f375fafc4fa1f4f1", kill_on_drop: false }`
[INFO] [stdout] 774e8c399d7a1b852d051aac06de8d919821df6a0e7c3242f375fafc4fa1f4f1
[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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13b47738688dc48f8cc784cc1b02a1ba12c0551593359c51ccbc8dfbeab16894
[INFO] running `Command { std: "docker" "start" "-a" "13b47738688dc48f8cc784cc1b02a1ba12c0551593359c51ccbc8dfbeab16894", kill_on_drop: false }`
[INFO] [stderr]    Compiling asimov v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `ThreeDotFiveSonnet` is never constructed
[INFO] [stdout]   --> src/anthropic/mod.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum Claude {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 59 |     /// Claude 3.5 Sonnet.
[INFO] [stdout] 60 |     ThreeDotFiveSonnet,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Claude` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/core/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     IO(std::io::Error),
[INFO] [stdout]   |     -- ^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     IO(std::io::Error),
[INFO] [stdout] 9 +     IO(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/mod.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Reqwest(reqwest::Error),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     Reqwest(reqwest::Error),
[INFO] [stdout] 11 +     Reqwest(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/mod.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Serde(serde_json::Error),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     Serde(serde_json::Error),
[INFO] [stdout] 13 +     Serde(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/mod.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Provider(String),
[INFO] [stdout]    |     -------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     Provider(String),
[INFO] [stdout] 15 +     Provider(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Local` is never constructed
[INFO] [stdout]   --> src/core/llm.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum Function {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 45 |     /// A local function, provided in the codebase. Compatible with all models.
[INFO] [stdout] 46 |     Local {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Function` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usage` is never read
[INFO] [stdout]    --> src/core/llm.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct Completion {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 106 |     /// Model usage statistics.
[INFO] [stdout] 107 |     pub usage: Usage,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Completion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_tokens` and `output_tokens` are never read
[INFO] [stdout]    --> src/core/llm.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct Usage {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 115 |     /// The number of input tokens used.
[INFO] [stdout] 116 |     pub input_tokens: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 117 |     /// The number of output tokens used.
[INFO] [stdout] 118 |     pub output_tokens: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Usage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LocalTool` is never used
[INFO] [stdout]  --> src/core/tool.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait LocalTool {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local` is never used
[INFO] [stdout]   --> src/core/tool.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a> Toolbox<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn local<T: LocalTool + 'a>(mut self, tool: T) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalDynTool` is never constructed
[INFO] [stdout]   --> src/core/tool.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct LocalDynTool<T: LocalTool>(T);
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.32s
[INFO] running `Command { std: "docker" "inspect" "13b47738688dc48f8cc784cc1b02a1ba12c0551593359c51ccbc8dfbeab16894", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13b47738688dc48f8cc784cc1b02a1ba12c0551593359c51ccbc8dfbeab16894", kill_on_drop: false }`
[INFO] [stdout] 13b47738688dc48f8cc784cc1b02a1ba12c0551593359c51ccbc8dfbeab16894
