[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] checking OxygenCobalt/asimov against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOxygenCobalt%2Fasimov" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-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-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/OxygenCobalt/asimov 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 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded colored v3.0.0
[INFO] [stderr]   Downloaded jiff-static v0.2.10
[INFO] [stderr]   Downloaded portable-atomic v1.11.0
[INFO] [stderr]   Downloaded jiff v0.2.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] bee4de2156e7f378a777bbc9d6e31b919ea48b41ee853b2efa925f61f4bf1f09
[INFO] running `Command { std: "docker" "start" "-a" "bee4de2156e7f378a777bbc9d6e31b919ea48b41ee853b2efa925f61f4bf1f09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bee4de2156e7f378a777bbc9d6e31b919ea48b41ee853b2efa925f61f4bf1f09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bee4de2156e7f378a777bbc9d6e31b919ea48b41ee853b2efa925f61f4bf1f09", kill_on_drop: false }`
[INFO] [stdout] bee4de2156e7f378a777bbc9d6e31b919ea48b41ee853b2efa925f61f4bf1f09
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 11ed6acfd3516c67f31d6351685e98893c689785438edb91b53cdb0ea7034930
[INFO] running `Command { std: "docker" "start" "-a" "11ed6acfd3516c67f31d6351685e98893c689785438edb91b53cdb0ea7034930", kill_on_drop: false }`
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling cc v1.2.20
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking rustls-pki-types v1.11.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking jiff v0.2.10
[INFO] [stderr]     Checking dyn-clone v1.0.19
[INFO] [stderr]     Checking colored v3.0.0
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking env_logger v0.11.8
[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]     Checking tokio v1.44.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking h2 v0.4.9
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.11
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.15
[INFO] [stderr]     Checking 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] [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 31.13s
[INFO] running `Command { std: "docker" "inspect" "11ed6acfd3516c67f31d6351685e98893c689785438edb91b53cdb0ea7034930", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11ed6acfd3516c67f31d6351685e98893c689785438edb91b53cdb0ea7034930", kill_on_drop: false }`
[INFO] [stdout] 11ed6acfd3516c67f31d6351685e98893c689785438edb91b53cdb0ea7034930
