[INFO] cloning repository https://github.com/gyb0211/shadow [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gyb0211/shadow" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyb0211%2Fshadow", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyb0211%2Fshadow'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b5aef3e9e7f7ca5fdb82b33ef6006cb7b4a9e4eb [INFO] checking gyb0211/shadow against da86f4d0726be475afbbffe40cb2f65741c51ad3 for pr-159877 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgyb0211%2Fshadow" "/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/gyb0211/shadow [INFO] finished tweaking git repo https://github.com/gyb0211/shadow [INFO] tweaked toml for git repo https://github.com/gyb0211/shadow written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gyb0211/shadow on toolchain da86f4d0726be475afbbffe40cb2f65741c51ad3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gyb0211/shadow 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" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded referencing v0.46.9 [INFO] [stderr] Downloaded jsonschema-regex v0.46.9 [INFO] [stderr] Downloaded shellexpand v3.1.2 [INFO] [stderr] Downloaded jsonschema v0.46.9 [INFO] [stderr] Downloaded num-bigint v0.4.7 [INFO] [stderr] Downloaded cron v0.15.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d [INFO] running `Command { std: "docker" "start" "11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d" "/opt/rustwide/cargo-home/bin/cargo" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d" "/opt/rustwide/cargo-home/bin/cargo" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Checking bytes v1.12.0 [INFO] [stderr] Compiling aws-lc-rs v1.17.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking rustls-pki-types v1.15.0 [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Compiling rustls v0.23.41 [INFO] [stderr] Compiling zerocopy v0.8.52 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking log v0.4.33 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Checking serde_json v1.0.150 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking openssl-probe v0.2.1 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Checking borrow-or-share v0.2.4 [INFO] [stderr] Compiling unicode-general-category v1.1.0 [INFO] [stderr] Compiling anyhow v1.0.103 [INFO] [stderr] Checking micromap v0.3.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking vsimd v0.8.0 [INFO] [stderr] Checking webpki-roots v1.0.8 [INFO] [stderr] Checking rustls-native-certs v0.8.4 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking outref v0.5.2 [INFO] [stderr] Checking jsonschema-regex v0.46.9 [INFO] [stderr] Checking bytecount v0.6.9 [INFO] [stderr] Checking num-cmp v0.1.0 [INFO] [stderr] Checking http v1.4.2 [INFO] [stderr] Checking data-encoding v2.11.0 [INFO] [stderr] Compiling aws-lc-sys v0.42.0 [INFO] [stderr] Checking uuid v1.23.4 [INFO] [stderr] Checking strum v0.28.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking uuid-simd v0.8.0 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking winnow v0.7.15 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking shellexpand v3.1.2 [INFO] [stderr] Checking directories v6.0.0 [INFO] [stderr] Compiling libsqlite3-sys v0.35.0 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking num-bigint v0.4.7 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking phf_shared v0.12.1 [INFO] [stderr] Compiling prometheus v0.14.0 [INFO] [stderr] Compiling chrono-tz v0.10.4 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking anstyle-parse v1.0.0 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking phf v0.12.1 [INFO] [stderr] Checking winnow v0.6.26 [INFO] [stderr] Checking anstream v1.0.0 [INFO] [stderr] Checking clap_builder v4.6.0 [INFO] [stderr] Checking hashlink v0.10.0 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking fraction v0.15.4 [INFO] [stderr] Checking fancy-regex v0.18.0 [INFO] [stderr] Checking regex v1.12.4 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.4 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Checking tokio v1.52.3 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking zerofrom v0.1.8 [INFO] [stderr] Checking yoke v0.8.3 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking zerovec v0.11.6 [INFO] [stderr] Checking zerotrie v0.2.4 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking tinystr v0.8.3 [INFO] [stderr] Checking potential_utf v0.1.5 [INFO] [stderr] Checking icu_locale_core v2.2.0 [INFO] [stderr] Checking icu_collections v2.2.0 [INFO] [stderr] Checking clap v4.6.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking icu_provider v2.2.0 [INFO] [stderr] Checking fluent-uri v0.4.1 [INFO] [stderr] Checking chrono v0.4.45 [INFO] [stderr] Checking email_address v0.2.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking icu_properties v2.2.0 [INFO] [stderr] Checking icu_normalizer v2.2.0 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking referencing v0.46.9 [INFO] [stderr] Checking cron v0.15.0 [INFO] [stderr] Checking idna_adapter v1.2.2 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking rusqlite v0.37.0 [INFO] [stderr] Checking h2 v0.4.15 [INFO] [stderr] Checking tower-http v0.6.11 [INFO] [stderr] Checking rustls-webpki v0.103.13 [INFO] [stderr] Checking hyper v1.10.1 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.7.0 [INFO] [stderr] Checking hyper-rustls v0.27.9 [INFO] [stderr] Checking reqwest v0.13.4 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking jsonschema v0.46.9 [INFO] [stderr] Checking shadow-core v0.1.0 (/opt/rustwide/workdir/crates/shadow-core) [INFO] [stdout] warning: unused import: `Role` [INFO] [stdout] --> crates/shadow-core/src/channel.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role}; [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: `std::sync::Arc` [INFO] [stdout] --> crates/shadow-core/src/kennel/attribution.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Role` [INFO] [stdout] --> crates/shadow-core/src/kennel/memory.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::kennel::attribution::{Attributable, Role}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> crates/shadow-core/src/kennel/provider.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> crates/shadow-core/src/kennel/provider.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Role` [INFO] [stdout] --> crates/shadow-core/src/kennel/tool.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> crates/shadow-core/src/kennel/tool.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> crates/shadow-core/src/kennel/tool.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Role` [INFO] [stdout] --> crates/shadow-core/src/channel.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role}; [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: `std::sync::Arc` [INFO] [stdout] --> crates/shadow-core/src/kennel/attribution.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Role` [INFO] [stdout] --> crates/shadow-core/src/kennel/memory.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::kennel::attribution::{Attributable, Role}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> crates/shadow-core/src/kennel/provider.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> crates/shadow-core/src/kennel/provider.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Role` [INFO] [stdout] --> crates/shadow-core/src/kennel/tool.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::kennel::attribution::{Attributable, Role}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> crates/shadow-core/src/kennel/tool.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> crates/shadow-core/src/kennel/tool.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking shadow-log v0.1.0 (/opt/rustwide/workdir/crates/shadow-log) [INFO] [stderr] Checking shadow-channels v0.1.0 (/opt/rustwide/workdir/crates/shadow-channels) [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> crates/shadow-log/src/broadcast.rs:44:38 [INFO] [stdout] | [INFO] [stdout] 44 | let (tx,rx) = broadcast::channel((65536)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - let (tx,rx) = broadcast::channel((65536)); [INFO] [stdout] 44 + let (tx,rx) = broadcast::channel(65536); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> crates/shadow-log/src/layer.rs:444:20 [INFO] [stdout] | [INFO] [stdout] 444 | return;; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Registry` [INFO] [stdout] --> crates/shadow-log/src/subscriber.rs:8:44 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing_subscriber::{EnvFilter, Layer, Registry, fmt}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> crates/shadow-log/src/broadcast.rs:44:38 [INFO] [stdout] | [INFO] [stdout] 44 | let (tx,rx) = broadcast::channel((65536)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - let (tx,rx) = broadcast::channel((65536)); [INFO] [stdout] 44 + let (tx,rx) = broadcast::channel(65536); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> crates/shadow-log/src/layer.rs:444:20 [INFO] [stdout] | [INFO] [stdout] 444 | return;; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Registry` [INFO] [stdout] --> crates/shadow-log/src/subscriber.rs:8:44 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing_subscriber::{EnvFilter, Layer, Registry, fmt}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolIoCapture` is never constructed [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ToolIoCapture { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `empty` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl ToolIoCapture { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 11 | fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_tool_input` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn capture_tool_input(policy: &ResolvedPolicy, tool: &str, redacted: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_tool_output` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn capture_tool_output(policy: &ResolvedPolicy, tool: &str, redacted: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_with_policy` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn capture_with_policy(policy: &ResolvedPolicy, tool: &str, redacted: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_llm_request` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn capture_llm_request( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `truncated_to_cap` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn truncated_to_cap(redacted: &str, cap: usize) -> ToolIoCapture { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> crates/shadow-log/src/writer.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | / fs::create_dir_all(parent) [INFO] [stdout] 186 | | .with_context(|| format!("creating log directory {}", parent.display())); [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] 185 | let _ = fs::create_dir_all(parent) [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolIoCapture` is never constructed [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ToolIoCapture { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `empty` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl ToolIoCapture { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 11 | fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_tool_input` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn capture_tool_input(policy: &ResolvedPolicy, tool: &str, redacted: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_tool_output` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn capture_tool_output(policy: &ResolvedPolicy, tool: &str, redacted: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_with_policy` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn capture_with_policy(policy: &ResolvedPolicy, tool: &str, redacted: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capture_llm_request` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn capture_llm_request( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `truncated_to_cap` is never used [INFO] [stdout] --> crates/shadow-log/src/tool_io.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn truncated_to_cap(redacted: &str, cap: usize) -> ToolIoCapture { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> crates/shadow-log/src/writer.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | / fs::create_dir_all(parent) [INFO] [stdout] 186 | | .with_context(|| format!("creating log directory {}", parent.display())); [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] 185 | let _ = fs::create_dir_all(parent) [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking shadow-config v0.1.0 (/opt/rustwide/workdir/crates/shadow-config) [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 93 | define_provider_ref!(ModelProviderRef, "providers.models"); [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 94 | define_provider_ref!(RiskProfileRef, "risk_profiles"); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 95 | define_provider_ref!(RuntimeProfileRef, "runtime_profiles"); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:462:12 [INFO] [stdout] | [INFO] [stdout] 462 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::multi::alias_agent::MemoryBackendKind` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::multi::alias_agent::MemoryBackendKind; [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: `std::future::poll_fn` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] ::: crates/shadow-config/src/multi/alias_agent.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | define_provider_ref!(AgentAlias, "agents"); [INFO] [stdout] | ------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RuntimeProfileConfig` [INFO] [stdout] --> crates/shadow-config/src/multi/alias_agent.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::schema::{ResolvedRuntime, RuntimeProfileConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Formatter` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Display, Formatter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Child` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::process::Child; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io::split` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::split; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> crates/shadow-config/src/lib.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `model_provider::*` [INFO] [stdout] --> crates/shadow-config/src/lib.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | pub use model_provider::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 93 | define_provider_ref!(ModelProviderRef, "providers.models"); [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 94 | define_provider_ref!(RiskProfileRef, "risk_profiles"); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 95 | define_provider_ref!(RuntimeProfileRef, "runtime_profiles"); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:462:12 [INFO] [stdout] | [INFO] [stdout] 462 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::multi::alias_agent::MemoryBackendKind` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::multi::alias_agent::MemoryBackendKind; [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: `std::future::poll_fn` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/providers.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] ::: crates/shadow-config/src/multi/alias_agent.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | define_provider_ref!(AgentAlias, "agents"); [INFO] [stdout] | ------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the macro `define_provider_ref` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RuntimeProfileConfig` [INFO] [stdout] --> crates/shadow-config/src/multi/alias_agent.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::schema::{ResolvedRuntime, RuntimeProfileConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `schema-export` [INFO] [stdout] --> crates/shadow-config/src/autonomy.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | #[cfg_attr(feature = "schema-export", derive(schemars::JsonSchema))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `schema-export` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Formatter` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::{Display, Formatter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Child` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::process::Child; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io::split` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::split; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> crates/shadow-config/src/lib.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `model_provider::*` [INFO] [stdout] --> crates/shadow-config/src/lib.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | pub use model_provider::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shadow_home` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let shadow_home = home.join(".shadow"); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shadow_home` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_shadow_dir` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | default_shadow_dir: &PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_shadow_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `custom_config_dir` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:196:15 [INFO] [stdout] | [INFO] [stdout] 196 | if let Ok(custom_config_dir) = std::env::var("SHADOW_CONFIG_DIR") {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_config_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shadow_home` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let shadow_home = home.join(".shadow"); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shadow_home` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_shadow_dir` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | default_shadow_dir: &PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_shadow_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `custom_config_dir` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:196:15 [INFO] [stdout] | [INFO] [stdout] 196 | if let Ok(custom_config_dir) = std::env::var("SHADOW_CONFIG_DIR") {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_config_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-config/src/schema.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | let mut resolved = ResolvedRuntime { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `profile` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:333:21 [INFO] [stdout] | [INFO] [stdout] 333 | if let Some(profile) = runtime_profile_cfg {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_profile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resolution_source` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:367:49 [INFO] [stdout] | [INFO] [stdout] 367 | let (shadow_dir, _legacy_workspace_dir, resolution_source) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolution_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_profile` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:395:25 [INFO] [stdout] | [INFO] [stdout] 395 | if let Some(default_profile) = config.risk_profiles.get_mut("default") { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_profile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-config/src/schema.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | let mut resolved = ResolvedRuntime { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `profile` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:333:21 [INFO] [stdout] | [INFO] [stdout] 333 | if let Some(profile) = runtime_profile_cfg {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_profile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resolution_source` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:367:49 [INFO] [stdout] | [INFO] [stdout] 367 | let (shadow_dir, _legacy_workspace_dir, resolution_source) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolution_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_profile` [INFO] [stdout] --> crates/shadow-config/src/schema.rs:395:25 [INFO] [stdout] | [INFO] [stdout] 395 | if let Some(default_profile) = config.risk_profiles.get_mut("default") { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_profile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `service_key` [INFO] [stdout] --> crates/shadow-config/src/proxy_client.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> crates/shadow-config/src/proxy_client.rs:3:68 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `conn_timeout_secs` [INFO] [stdout] --> crates/shadow-config/src/proxy_client.rs:3:82 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_timeout_secs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `service_key` [INFO] [stdout] --> crates/shadow-config/src/proxy_client.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> crates/shadow-config/src/proxy_client.rs:3:68 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `conn_timeout_secs` [INFO] [stdout] --> crates/shadow-config/src/proxy_client.rs:3:82 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn build_runtime_proxy_client_with_timeouts(service_key: &str, timeout: u64, conn_timeout_secs: u64) -> Client{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_timeout_secs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-config/src/policy.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let mut actions = self.actions.lock(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-config/src/policy.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let mut actions = self.actions.lock(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base_owned` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:1195:17 [INFO] [stdout] | [INFO] [stdout] 1195 | let base_owned = command_basename(base_raw).to_ascii_lowercase(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_owned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base_owned` [INFO] [stdout] --> crates/shadow-config/src/policy.rs:1195:17 [INFO] [stdout] | [INFO] [stdout] 1195 | let base_owned = command_basename(base_raw).to_ascii_lowercase(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_owned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `reliable` is never read [INFO] [stdout] --> crates/shadow-config/src/providers.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 282 | struct Helper { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 300 | reliable: ReliableConfig, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EnvConfigDir`, `EnvDataDir`, and `EnvWorkspaceLegacy` are never constructed [INFO] [stdout] --> crates/shadow-config/src/schema.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 146 | enum ConfigResolutionSource { [INFO] [stdout] | ---------------------- variants in this enum [INFO] [stdout] 147 | EnvConfigDir, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 148 | EnvDataDir, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 149 | EnvWorkspaceLegacy, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConfigResolutionSource` 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: method `as_str` is never used [INFO] [stdout] --> crates/shadow-config/src/schema.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 154 | impl ConfigResolutionSource { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] 155 | const fn as_str(self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deserialize_optional_email_skip_empty` is never used [INFO] [stdout] --> crates/shadow-config/src/schema.rs:784:4 [INFO] [stdout] | [INFO] [stdout] 784 | fn deserialize_optional_email_skip_empty<'de, D>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_false` is never used [INFO] [stdout] --> crates/shadow-config/src/multi/alias_agent.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn default_false()->bool{false} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `reliable` is never read [INFO] [stdout] --> crates/shadow-config/src/providers.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 282 | struct Helper { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 300 | reliable: ReliableConfig, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EnvConfigDir`, `EnvDataDir`, and `EnvWorkspaceLegacy` are never constructed [INFO] [stdout] --> crates/shadow-config/src/schema.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 146 | enum ConfigResolutionSource { [INFO] [stdout] | ---------------------- variants in this enum [INFO] [stdout] 147 | EnvConfigDir, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 148 | EnvDataDir, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 149 | EnvWorkspaceLegacy, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConfigResolutionSource` 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: method `as_str` is never used [INFO] [stdout] --> crates/shadow-config/src/schema.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 154 | impl ConfigResolutionSource { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] 155 | const fn as_str(self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deserialize_optional_email_skip_empty` is never used [INFO] [stdout] --> crates/shadow-config/src/schema.rs:784:4 [INFO] [stdout] | [INFO] [stdout] 784 | fn deserialize_optional_email_skip_empty<'de, D>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_false` is never used [INFO] [stdout] --> crates/shadow-config/src/multi/alias_agent.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn default_false()->bool{false} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking shadow-providers v0.1.0 (/opt/rustwide/workdir/crates/shadow-providers) [INFO] [stderr] Checking shadow-memory v0.1.0 (/opt/rustwide/workdir/crates/shadow-memory) [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `Response` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | use reqwest::{Client, Error, RequestBuilder, Response}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChatResponse`, `StreamChunk`, and `TokenUsage` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:14:43 [INFO] [stdout] | [INFO] [stdout] 14 | Attributable, AuthStyle, ChatMessage, ChatResponse, ModelProvider, ModelProviderKind, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | ProviderKind, Role, StreamChunk, TokenUsage, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChatMessage`, `ChatRequest`, `ChatResponse`, `ModelInfo`, `ProviderCapabilities`, `StreamChunk`, `StreamEvent`, `StreamOptions`, `ToolSpec`, and `ToolsPayload` [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | ...e, ChatMessage, ChatRequest, ChatResponse, ModelInfo, ModelProvider, ProviderCapabilities, Role, StreamChunk, StreamEvent, StreamOptions, ToolSpec, ToolsPayload}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::stream::BoxStream` [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use futures::stream::BoxStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `Response` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | use reqwest::{Client, Error, RequestBuilder, Response}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChatResponse`, `StreamChunk`, and `TokenUsage` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:14:43 [INFO] [stdout] | [INFO] [stdout] 14 | Attributable, AuthStyle, ChatMessage, ChatResponse, ModelProvider, ModelProviderKind, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | ProviderKind, Role, StreamChunk, TokenUsage, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChatMessage`, `ChatRequest`, `ChatResponse`, `ModelInfo`, `ProviderCapabilities`, `StreamChunk`, `StreamEvent`, `StreamOptions`, `ToolSpec`, and `ToolsPayload` [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | ...e, ChatMessage, ChatRequest, ChatResponse, ModelInfo, ModelProvider, ProviderCapabilities, Role, StreamChunk, StreamEvent, StreamOptions, ToolSpec, ToolsPayload}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::stream::BoxStream` [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use futures::stream::BoxStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | use serde::{Deserialize, Serialize}; [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: `resolve_provider` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | use shadow_config::{resolve_provider, Config}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | use serde::{Deserialize, Serialize}; [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: `resolve_provider` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | use shadow_config::{resolve_provider, Config}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::StreamExt` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use futures::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> crates/shadow-providers/src/catalog.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | if let Some(p) = prefix { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-providers/src/factory.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | mut p: OpenAiCompatibleModelProvider, [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opts` [INFO] [stdout] --> crates/shadow-providers/src/factory.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | opts: &ModelProviderRuntimeOptions, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_agent` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | user_agent: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_agent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:184:67 [INFO] [stdout] | [INFO] [stdout] 184 | let intermediate = messages.iter().enumerate().find_map(|(idx, msg)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `role` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:224:27 [INFO] [stdout] | [INFO] [stdout] 224 | fn to_message_content(role: &String, content: &String, merge: bool) -> MessageContent { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_role` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `merge` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:224:60 [INFO] [stdout] | [INFO] [stdout] 224 | fn to_message_content(role: &String, content: &String, merge: bool) -> MessageContent { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_merge` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:228:38 [INFO] [stdout] | [INFO] [stdout] 228 | fn effective_merge_system(&self, model:&str) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::StreamExt` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use futures::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> crates/shadow-providers/src/catalog.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | if let Some(p) = prefix { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-providers/src/factory.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | mut p: OpenAiCompatibleModelProvider, [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opts` [INFO] [stdout] --> crates/shadow-providers/src/factory.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | opts: &ModelProviderRuntimeOptions, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_agent` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | user_agent: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_agent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:184:67 [INFO] [stdout] | [INFO] [stdout] 184 | let intermediate = messages.iter().enumerate().find_map(|(idx, msg)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `role` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:224:27 [INFO] [stdout] | [INFO] [stdout] 224 | fn to_message_content(role: &String, content: &String, merge: bool) -> MessageContent { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_role` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `merge` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:224:60 [INFO] [stdout] | [INFO] [stdout] 224 | fn to_message_content(role: &String, content: &String, merge: bool) -> MessageContent { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_merge` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:228:38 [INFO] [stdout] | [INFO] [stdout] 228 | fn effective_merge_system(&self, model:&str) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> crates/shadow-providers/src/lib.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | if let Some(idx) = raw_name.find(":") {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_model` [INFO] [stdout] --> crates/shadow-providers/src/lib.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | default_model: &str, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-providers/src/lib.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | config: &Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cost` is never read [INFO] [stdout] --> crates/shadow-providers/src/models_dev.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct ModelEntry{ [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | cost: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModelEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `input`, `output`, and `cache_read` are never read [INFO] [stdout] --> crates/shadow-providers/src/models_dev.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | struct ModelCost{ [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 24 | #[serde(default)] [INFO] [stdout] 25 | input: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 26 | #[serde(default)] [INFO] [stdout] 27 | output: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | #[serde(default)] [INFO] [stdout] 29 | cache_read: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModelCost` 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: variant `Parts` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | enum MessageContent { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 28 | Text(String), [INFO] [stdout] 29 | Parts(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MessageContent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Text` and `ImageUrl` are never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | enum MessagePart { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 35 | Text { text: String }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 36 | ImageUrl { image_url: ImageUrlPart }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MessagePart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `supports_vision` is never read [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct OpenAiCompatibleModelProvider { [INFO] [stdout] | ----------------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 50 | supports_vision: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `usage` is never read [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:511:5 [INFO] [stdout] | [INFO] [stdout] 509 | struct ApiResponse { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 510 | choices: Vec, [INFO] [stdout] 511 | usage: ApiUsage, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `effective_content_options` is never used [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:537:8 [INFO] [stdout] | [INFO] [stdout] 528 | impl ResponseMessage { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 537 | fn effective_content_options(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:652:5 [INFO] [stdout] | [INFO] [stdout] 651 | struct ApiUsage { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 652 | prompt_tokens: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 653 | completion_tokens: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 654 | total_tokens: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelsResponse` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:658:8 [INFO] [stdout] | [INFO] [stdout] 658 | struct ModelsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiModel` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:663:8 [INFO] [stdout] | [INFO] [stdout] 663 | struct ApiModel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamToolCallAccumulator` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:671:8 [INFO] [stdout] | [INFO] [stdout] 671 | struct StreamToolCallAccumulator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamToolCallDelta` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:679:8 [INFO] [stdout] | [INFO] [stdout] 679 | struct StreamToolCallDelta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamFunctionDelta` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:688:8 [INFO] [stdout] | [INFO] [stdout] 688 | struct StreamFunctionDelta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `display_name` and `cooldown_key` are never read [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ReliableModelProviderEntry { [INFO] [stdout] | -------------------------- fields in this struct [INFO] [stdout] 12 | display_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | cooldown_key: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_retries`, `base_backoff_ms`, `api_keys`, `key_index`, `model_fallbacks`, and `rate_limit_cooldowns` are never read [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct ReliableModelProvider { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | max_retries: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | base_backoff_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | api_keys: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | key_index: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 38 | model_fallbacks: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | rate_limit_cooldowns: Mutex>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:209:20 [INFO] [stdout] | [INFO] [stdout] 209 | for msg in intermediate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 209 - for msg in intermediate { [INFO] [stdout] 209 + while let Some(msg) = intermediate { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 209 - for msg in intermediate { [INFO] [stdout] 209 + if let Some(msg) = intermediate { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> crates/shadow-providers/src/lib.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | if let Some(idx) = raw_name.find(":") {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_model` [INFO] [stdout] --> crates/shadow-providers/src/lib.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | default_model: &str, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-providers/src/lib.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | config: &Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:276:28 [INFO] [stdout] | [INFO] [stdout] 276 | async fn forget(&self, key: &str) -> anyhow::Result { [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] --> crates/shadow-memory/src/markdown.rs:282:38 [INFO] [stdout] | [INFO] [stdout] 282 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> anyhow::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:282:49 [INFO] [stdout] | [INFO] [stdout] 282 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | agent_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cost` is never read [INFO] [stdout] --> crates/shadow-providers/src/models_dev.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct ModelEntry{ [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | cost: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModelEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `input`, `output`, and `cache_read` are never read [INFO] [stdout] --> crates/shadow-providers/src/models_dev.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | struct ModelCost{ [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 24 | #[serde(default)] [INFO] [stdout] 25 | input: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 26 | #[serde(default)] [INFO] [stdout] 27 | output: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | #[serde(default)] [INFO] [stdout] 29 | cache_read: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ModelCost` 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: variant `Parts` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | enum MessageContent { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 28 | Text(String), [INFO] [stdout] 29 | Parts(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MessageContent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Text` and `ImageUrl` are never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | enum MessagePart { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 35 | Text { text: String }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 36 | ImageUrl { image_url: ImageUrlPart }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MessagePart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `supports_vision` is never read [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct OpenAiCompatibleModelProvider { [INFO] [stdout] | ----------------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 50 | supports_vision: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `usage` is never read [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:511:5 [INFO] [stdout] | [INFO] [stdout] 509 | struct ApiResponse { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 510 | choices: Vec, [INFO] [stdout] 511 | usage: ApiUsage, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `effective_content_options` is never used [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:537:8 [INFO] [stdout] | [INFO] [stdout] 528 | impl ResponseMessage { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 537 | fn effective_content_options(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:652:5 [INFO] [stdout] | [INFO] [stdout] 651 | struct ApiUsage { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 652 | prompt_tokens: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 653 | completion_tokens: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 654 | total_tokens: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelsResponse` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:658:8 [INFO] [stdout] | [INFO] [stdout] 658 | struct ModelsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiModel` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:663:8 [INFO] [stdout] | [INFO] [stdout] 663 | struct ApiModel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamToolCallAccumulator` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:671:8 [INFO] [stdout] | [INFO] [stdout] 671 | struct StreamToolCallAccumulator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamToolCallDelta` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:679:8 [INFO] [stdout] | [INFO] [stdout] 679 | struct StreamToolCallDelta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamFunctionDelta` is never constructed [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:688:8 [INFO] [stdout] | [INFO] [stdout] 688 | struct StreamFunctionDelta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `display_name` and `cooldown_key` are never read [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ReliableModelProviderEntry { [INFO] [stdout] | -------------------------- fields in this struct [INFO] [stdout] 12 | display_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | cooldown_key: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_retries`, `base_backoff_ms`, `api_keys`, `key_index`, `model_fallbacks`, and `rate_limit_cooldowns` are never read [INFO] [stdout] --> crates/shadow-providers/src/reliable.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct ReliableModelProvider { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | max_retries: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | base_backoff_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | api_keys: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | key_index: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 38 | model_fallbacks: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | rate_limit_cooldowns: Mutex>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_agent_ids` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:310:9 [INFO] [stdout] | [INFO] [stdout] 310 | allowed_agent_ids: &[&str], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_agent_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | category: MemoryCategory, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | key: &str, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | content: &str, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> crates/shadow-providers/src/openai.rs:209:20 [INFO] [stdout] | [INFO] [stdout] 209 | for msg in intermediate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 209 - for msg in intermediate { [INFO] [stdout] 209 + while let Some(msg) = intermediate { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 209 - for msg in intermediate { [INFO] [stdout] 209 + if let Some(msg) = intermediate { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `limit` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | limit: usize, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `since` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | since: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_since` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `until` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | until: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_until` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `query` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | query: &str, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | async fn get(&self, key: &str) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | category: Option<&MemoryCategory>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:71:28 [INFO] [stdout] | [INFO] [stdout] 71 | async fn forget(&self, key: &str) -> Result { [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] --> crates/shadow-memory/src/none.rs:75:38 [INFO] [stdout] | [INFO] [stdout] 75 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:75:49 [INFO] [stdout] | [INFO] [stdout] 75 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | category: MemoryCategory, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | agent_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | key: &str, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | content: &str, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `limit` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | limit: usize, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `since` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | since: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_since` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `until` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | until: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_until` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_agent_ids` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | allowed_agent_ids: &[&str], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_agent_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `query` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | query: &str, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> crates/shadow-memory/src/agent_scoped_markdown.rs:101:21 [INFO] [stdout] | [INFO] [stdout] 101 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/agent_scoped_markdown.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | agent_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking shadow-tools v0.1.0 (/opt/rustwide/workdir/crates/shadow-tools) [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:276:28 [INFO] [stdout] | [INFO] [stdout] 276 | async fn forget(&self, key: &str) -> anyhow::Result { [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] --> crates/shadow-memory/src/markdown.rs:282:38 [INFO] [stdout] | [INFO] [stdout] 282 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> anyhow::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:282:49 [INFO] [stdout] | [INFO] [stdout] 282 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | agent_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cached` [INFO] [stdout] --> crates/shadow-memory/src/sqlite/store.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let cached = tokio::task::spawn_blocking(move || -> anyhow::Result>> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_agent_ids` [INFO] [stdout] --> crates/shadow-memory/src/markdown.rs:310:9 [INFO] [stdout] | [INFO] [stdout] 310 | allowed_agent_ids: &[&str], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_agent_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | category: MemoryCategory, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | key: &str, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | content: &str, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `limit` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | limit: usize, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `since` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | since: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_since` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `until` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | until: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_until` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `query` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | query: &str, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | async fn get(&self, key: &str) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | category: Option<&MemoryCategory>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:71:28 [INFO] [stdout] | [INFO] [stdout] 71 | async fn forget(&self, key: &str) -> Result { [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] --> crates/shadow-memory/src/none.rs:75:38 [INFO] [stdout] | [INFO] [stdout] 75 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:75:49 [INFO] [stdout] | [INFO] [stdout] 75 | async fn forget_for_agent(&self, key: &str, agent_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | category: MemoryCategory, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | agent_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | key: &str, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | content: &str, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `limit` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | limit: usize, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | session_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `since` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | since: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_since` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `until` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | until: Option<&str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_until` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_agent_ids` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | allowed_agent_ids: &[&str], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_agent_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `query` [INFO] [stdout] --> crates/shadow-memory/src/none.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | query: &str, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> crates/shadow-memory/src/agent_scoped_markdown.rs:101:21 [INFO] [stdout] | [INFO] [stdout] 101 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_id` [INFO] [stdout] --> crates/shadow-memory/src/agent_scoped_markdown.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | agent_id: Option<&str>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cached` [INFO] [stdout] --> crates/shadow-memory/src/sqlite/store.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let cached = tokio::task::spawn_blocking(move || -> anyhow::Result>> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `concrete_provider` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | let Some(concrete_provider) = concrete_provider else { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_concrete_provider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `backend_kind` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let backend_kind = classify_memory_backend(&backend_name); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backend_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unknown_context` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | unknown_context: &str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ResolvedEmbeddingConfig` is more private than the item `resolve_embedding_config` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | / pub fn resolve_embedding_config( [INFO] [stdout] 244 | | config: &MemoryConfig, [INFO] [stdout] 245 | | embedding_routes: &[EmbeddingRouteConfig], [INFO] [stdout] 246 | | api_key: Option<&str>, [INFO] [stdout] 247 | | providers: Option<&ModelProviders>, [INFO] [stdout] 248 | | ) -> ResolvedEmbeddingConfig { [INFO] [stdout] | |____________________________^ function `resolve_embedding_config` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ResolvedEmbeddingConfig` is only usable at visibility `pub(crate)` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:324:1 [INFO] [stdout] | [INFO] [stdout] 324 | struct ResolvedEmbeddingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `alias` is never read [INFO] [stdout] --> crates/shadow-memory/src/sqlite/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct SqliteMemory { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 45 | alias: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `embedder_dimensions` is never used [INFO] [stdout] --> crates/shadow-memory/src/sqlite/recall.rs:183:19 [INFO] [stdout] | [INFO] [stdout] 15 | impl SqliteMemory { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 183 | pub(super) fn embedder_dimensions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `concrete_provider` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | let Some(concrete_provider) = concrete_provider else { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_concrete_provider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `backend_kind` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let backend_kind = classify_memory_backend(&backend_name); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backend_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unknown_context` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | unknown_context: &str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ResolvedEmbeddingConfig` is more private than the item `resolve_embedding_config` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | / pub fn resolve_embedding_config( [INFO] [stdout] 244 | | config: &MemoryConfig, [INFO] [stdout] 245 | | embedding_routes: &[EmbeddingRouteConfig], [INFO] [stdout] 246 | | api_key: Option<&str>, [INFO] [stdout] 247 | | providers: Option<&ModelProviders>, [INFO] [stdout] 248 | | ) -> ResolvedEmbeddingConfig { [INFO] [stdout] | |____________________________^ function `resolve_embedding_config` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ResolvedEmbeddingConfig` is only usable at visibility `pub(crate)` [INFO] [stdout] --> crates/shadow-memory/src/lib.rs:324:1 [INFO] [stdout] | [INFO] [stdout] 324 | struct ResolvedEmbeddingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `alias` is never read [INFO] [stdout] --> crates/shadow-memory/src/sqlite/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct SqliteMemory { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 45 | alias: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `embedder_dimensions` is never used [INFO] [stdout] --> crates/shadow-memory/src/sqlite/recall.rs:183:19 [INFO] [stdout] | [INFO] [stdout] 15 | impl SqliteMemory { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 183 | pub(super) fn embedder_dimensions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking shadow-runtime v0.1.0 (/opt/rustwide/workdir/crates/shadow-runtime) [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | use anyhow::{bail, Context, Result}; [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: `parking_lot::Mutex` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection` and `params` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | use rusqlite::{Connection, params}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 36 | use serde_json::{Error, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_log::Action` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | use shadow_log::Action; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:205:15 [INFO] [stdout] | [INFO] [stdout] 205 | #[cfg(not(all(feature = "sandbox-landlock", target_os = "linux")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:210:11 [INFO] [stdout] | [INFO] [stdout] 210 | #[cfg(all(feature = "sandbox-landlock", target_os = "linux"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::security::seatbelt::SeatbeltSandbox` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::security::seatbelt::SeatbeltSandbox; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_config::RuntimeKind` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use shadow_config::RuntimeKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:53:23 [INFO] [stdout] | [INFO] [stdout] 53 | #[cfg(all(feature = "sandbox-landlock", target_os = "linux"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:57:27 [INFO] [stdout] | [INFO] [stdout] 57 | #[cfg(not(all(feature = "sandbox-landlock", target_os = "linux")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | feature = "sandbox-bubblewrap", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | feature = "sandbox-bubblewrap", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(feature = "sandbox-landlock")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | #[cfg(feature = "sandbox-bubblewrap")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:169:23 [INFO] [stdout] | [INFO] [stdout] 169 | #[cfg(not(feature = "sandbox-bubblewrap"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tools::registry::ToolRegistry` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::tools::registry::ToolRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tools::cron::add::CronAddTool` [INFO] [stdout] --> crates/shadow-runtime/src/tools/attribution.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::tools::cron::add::CronAddTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cron::CronJob` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cron::CronJob; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Schedule` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:2:44 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::tools::cron::add::{CronAddTool, Schedule}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Utc` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::Utc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_config::Config` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shadow_config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `uuid::Uuid` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use uuid::Uuid; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json::{json, Error, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LazyLock` and `Mutex` [INFO] [stdout] --> crates/shadow-runtime/src/tools/model_switch.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::{Arc, LazyLock, Mutex}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | let (response_text) = match chat_result{ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 68 - let (response_text) = match chat_result{ [INFO] [stdout] 68 + let response_text = match chat_result{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | (resp.text.as_deref().unwrap_or("").to_string()) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 70 - (resp.text.as_deref().unwrap_or("").to_string()) [INFO] [stdout] 70 + resp.text.as_deref().unwrap_or("").to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::agent::turn::events::StreamDelta` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::agent::turn::events::StreamDelta; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_core::kennel::provider::NativeThinkingParams` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use shadow_core::kennel::provider::NativeThinkingParams; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_core::Observer` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/context.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use shadow_core::Observer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_log::record` [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use shadow_log::record; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | use anyhow::{bail, Context, Result}; [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: `parking_lot::Mutex` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection` and `params` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | use rusqlite::{Connection, params}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 36 | use serde_json::{Error, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_log::Action` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | use shadow_log::Action; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:205:15 [INFO] [stdout] | [INFO] [stdout] 205 | #[cfg(not(all(feature = "sandbox-landlock", target_os = "linux")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:210:11 [INFO] [stdout] | [INFO] [stdout] 210 | #[cfg(all(feature = "sandbox-landlock", target_os = "linux"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::security::seatbelt::SeatbeltSandbox` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::security::seatbelt::SeatbeltSandbox; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_config::RuntimeKind` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use shadow_config::RuntimeKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:53:23 [INFO] [stdout] | [INFO] [stdout] 53 | #[cfg(all(feature = "sandbox-landlock", target_os = "linux"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:57:27 [INFO] [stdout] | [INFO] [stdout] 57 | #[cfg(not(all(feature = "sandbox-landlock", target_os = "linux")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | feature = "sandbox-bubblewrap", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | feature = "sandbox-bubblewrap", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-landlock` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(feature = "sandbox-landlock")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-landlock` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | #[cfg(feature = "sandbox-bubblewrap")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `sandbox-bubblewrap` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:169:23 [INFO] [stdout] | [INFO] [stdout] 169 | #[cfg(not(feature = "sandbox-bubblewrap"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` and `obs-prometheus` [INFO] [stdout] = help: consider adding `sandbox-bubblewrap` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Context` [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use anyhow::Context; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tools::registry::ToolRegistry` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::tools::registry::ToolRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tools::cron::add::CronAddTool` [INFO] [stdout] --> crates/shadow-runtime/src/tools/attribution.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::tools::cron::add::CronAddTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cron::CronJob` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cron::CronJob; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Schedule` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:2:44 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::tools::cron::add::{CronAddTool, Schedule}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Utc` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::Utc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_config::Config` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shadow_config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `uuid::Uuid` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use uuid::Uuid; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json::{json, Error, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LazyLock` and `Mutex` [INFO] [stdout] --> crates/shadow-runtime/src/tools/model_switch.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::{Arc, LazyLock, Mutex}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | let (response_text) = match chat_result{ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 68 - let (response_text) = match chat_result{ [INFO] [stdout] 68 + let response_text = match chat_result{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | (resp.text.as_deref().unwrap_or("").to_string()) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 70 - (resp.text.as_deref().unwrap_or("").to_string()) [INFO] [stdout] 70 + resp.text.as_deref().unwrap_or("").to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::agent::turn::events::StreamDelta` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::agent::turn::events::StreamDelta; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_core::kennel::provider::NativeThinkingParams` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use shadow_core::kennel::provider::NativeThinkingParams; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_core::Observer` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/context.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use shadow_core::Observer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_log::record` [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use shadow_log::record; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | let mut model_name = match agent_model_provider.and_then(|e| e.model.as_deref()) { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut streamed_live_delta = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut streamed_protocol_suppressed = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let mut streamed_visible_text = String::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | let mut model_name = match agent_model_provider.and_then(|e| e.model.as_deref()) { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut streamed_live_delta = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut streamed_protocol_suppressed = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let mut streamed_visible_text = String::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Context` [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use anyhow::Context; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | config: &Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_alias` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | agent_alias: &str, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_alias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | name: Option, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `schedule` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | schedule: Schedule, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | command: &str, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delivery` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | delivery: Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `approved` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | approved: bool, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_approved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | config: &Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | name: Option, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prompt` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | prompt: &str, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_target` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | session_target: crate::tools::cron::types::SessionTarget, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | model: Option, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `del_after_run` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | del_after_run: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_del_after_run` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_tools` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | allowed_tools: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_run` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let next_run = next_run_for_schedule(&schedule, now)?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_run` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let id = Uuid::new_v4().to_string(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `schedule_json` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | let schedule_json = serde_json::to_string(&schedule)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule_json` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delivery` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let delivery = delivery.unwrap_or_default(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | config: &Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_alias` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | agent_alias: &str, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_alias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | name: Option, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `schedule` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | schedule: Schedule, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | command: &str, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delivery` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | delivery: Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `approved` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | approved: bool, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_approved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | config: &Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | name: Option, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prompt` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | prompt: &str, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_target` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | session_target: crate::tools::cron::types::SessionTarget, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | model: Option, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `del_after_run` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | del_after_run: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_del_after_run` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_tools` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | allowed_tools: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_run` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let next_run = next_run_for_schedule(&schedule, now)?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_run` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let id = Uuid::new_v4().to_string(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `schedule_json` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | let schedule_json = serde_json::to_string(&schedule)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_schedule_json` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delivery` [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let delivery = delivery.unwrap_or_default(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:206:23 [INFO] [stdout] | [INFO] [stdout] 206 | fn landlock_available(workspace_dir: Option<&Path>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/skills/mod.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | let mut tools = Vec::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/skills/mod.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | let mut skills = Vec::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/skills/mod.rs:543:20 [INFO] [stdout] | [INFO] [stdout] 543 | pub fn load_skills(workspace_dir: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:206:23 [INFO] [stdout] | [INFO] [stdout] 206 | fn landlock_available(workspace_dir: Option<&Path>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/skills/mod.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | let mut tools = Vec::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:382:28 [INFO] [stdout] | [INFO] [stdout] 382 | if let Err(reason) = self.security.validate_command_execution(command, approved){} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | Err(e) => Ok(ToolResult::err("")), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timezone` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/common.rs:77:83 [INFO] [stdout] | [INFO] [stdout] 77 | let next_run_local = chrono_tz::Tz::from_str(tz).map_or(Value::Null, |timezone| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timezone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/shadow-runtime/src/skills/mod.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | let mut skills = Vec::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/skills/mod.rs:543:20 [INFO] [stdout] | [INFO] [stdout] 543 | pub fn load_skills(workspace_dir: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:382:28 [INFO] [stdout] | [INFO] [stdout] 382 | if let Err(reason) = self.security.validate_command_execution(command, approved){} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/add.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | Err(e) => Ok(ToolResult::err("")), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timezone` [INFO] [stdout] --> crates/shadow-runtime/src/tools/cron/common.rs:77:83 [INFO] [stdout] | [INFO] [stdout] 77 | let next_run_local = chrono_tz::Tz::from_str(tz).map_or(Value::Null, |timezone| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timezone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> crates/shadow-runtime/src/tools/model_switch.rs:137:18 [INFO] [stdout] | [INFO] [stdout] 137 | Some(m) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | config, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `config: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_alias` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | agent_alias, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `agent_alias: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | runtime, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `runtime: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exclude_memory` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | exclude_memory, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `exclude_memory: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unfiltered_tool_arcs` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | unfiltered_tool_arcs, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `unfiltered_tool_arcs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `before_filter` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let before_filter = tool_registry.len(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_before_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | memory: Arc, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | workspace_dir: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `live_config` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | live_config: Option>>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_shell_access` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let has_shell_access = runtime.has_shell_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_shell_access` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `persistent_writes` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let persistent_writes = runtime.has_filesystem_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persistent_writes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sandbox` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let sandbox = create_sandbox(&sandbox_cfg, runtime_kind, Some(&security.workspace_dir)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sandbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delegate_global_credential` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | let delegate_global_credential = fallback_api_key.and_then(|value| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delegate_global_credential` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `provider_runtime_options` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | let provider_runtime_options = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider_runtime_options` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delegate_handle` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | let delegate_handle: Option<&str> = if agents.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delegate_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `security` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:217:35 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn default_tools_with_runtime(security: Arc, runtime: Arc)-> Vec>{ [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_security` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `persist_writes` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let persist_writes = runtime.has_filesystem_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persist_writes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tools_registry` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | tools_registry: &[Box], [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tools_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thinking_prefix` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | thinking_prefix: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thinking_prefix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `native_tools` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let native_tools = model_provider.supports_native_tools(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_native_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obs` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | let obs: Arc = Arc::from(base_obs); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model_switch_callback` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | let model_switch_callback = get_model_switch_state(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model_switch_callback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eff_temperature` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 310 | let eff_temperature = temperature; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eff_temperature` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime_capability_names` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 325 | let runtime_capability_names = tool_registry.iter().map(|t| t.name()).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime_capability_names` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_api_key` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:384:34 [INFO] [stdout] | [INFO] [stdout] 384 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_api_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_uri` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:384:50 [INFO] [stdout] | [INFO] [stdout] 384 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:401:33 [INFO] [stdout] | [INFO] [stdout] 401 | ... let model = new_model; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_api_key` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:518:38 [INFO] [stdout] | [INFO] [stdout] 518 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_api_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_uri` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:518:54 [INFO] [stdout] | [INFO] [stdout] 518 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:535:37 [INFO] [stdout] | [INFO] [stdout] 535 | ... let model = new_model; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:581:13 [INFO] [stdout] | [INFO] [stdout] 581 | let duration = start.elapsed(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `response` is never read [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:342:32 [INFO] [stdout] | [INFO] [stdout] 342 | let mut response = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 370 | response = resp; [INFO] [stdout] | -------- `response` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_state_file` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | session_state_file: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_state_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_tools` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | allowed_tools: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temperature` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | temperature, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `temperature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `channel_name` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | channel_name, [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `channel_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `channel_reply_target` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | channel_reply_target, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `channel_reply_target: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `provider_name` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:51:25 [INFO] [stdout] | [INFO] [stdout] 51 | let (model_provider,provider_name, model) = (model_provider, provider_name, model); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loop_start` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let loop_start = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iteration` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:29:28 [INFO] [stdout] | [INFO] [stdout] 29 | ... iteration: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | workspace_dir: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model_name` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | model_name: &str, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tools` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | tools: &[(&str, &str)], [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `autonomy_config` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | autonomy_config: Option<&RiskProfileConfig>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_autonomy_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `show_tool_calls` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | show_tool_calls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_tool_calls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metric` [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | fn record_metric(&self, metric: &ObserverMetric) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_metric` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TurnCtx<'_>` is more private than the item `call_provider` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / pub async fn call_provider(ctx: &TurnCtx<'_>, [INFO] [stdout] 24 | | model_provider: &dyn ModelProvider, [INFO] [stdout] 25 | | model: &str, [INFO] [stdout] 26 | | messages: &[ChatMessage], [INFO] [stdout] 27 | | tools: Option<&[ToolSpec]>, [INFO] [stdout] 28 | | should_consume_provider_stream: bool, [INFO] [stdout] 29 | | iteration: usize) -> Result { [INFO] [stdout] | |___________________________________________________________________________^ function `call_provider` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `TurnCtx<'_>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/context.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct TurnCtx<'a>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ProviderCallOutcome` is more private than the item `call_provider` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / pub async fn call_provider(ctx: &TurnCtx<'_>, [INFO] [stdout] 24 | | model_provider: &dyn ModelProvider, [INFO] [stdout] 25 | | model: &str, [INFO] [stdout] 26 | | messages: &[ChatMessage], [INFO] [stdout] 27 | | tools: Option<&[ToolSpec]>, [INFO] [stdout] 28 | | should_consume_provider_stream: bool, [INFO] [stdout] 29 | | iteration: usize) -> Result { [INFO] [stdout] | |___________________________________________________________________________^ function `call_provider` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ProviderCallOutcome` is only usable at visibility `pub(crate)` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) struct ProviderCallOutcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_OUTPUT_LEN` is never used [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:147:7 [INFO] [stdout] | [INFO] [stdout] 147 | const MAX_OUTPUT_LEN: usize = 10 * 1024; [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 `schedule_cron_expression` is never used [INFO] [stdout] --> crates/shadow-runtime/src/cron/schedule.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn schedule_cron_expression(schedule: &Schedule) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BLOCKED_PATTERNS` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const DEFAULT_BLOCKED_PATTERNS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_FORBIDDEN_PATHS` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const DEFAULT_FORBIDDEN_PATHS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAFE_ENV_VARS` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:63:7 [INFO] [stdout] | [INFO] [stdout] 63 | const SAFE_ENV_VARS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NOOP_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:224:7 [INFO] [stdout] | [INFO] [stdout] 224 | const NOOP_DESCRIPTION: &str = "No sandboxing (application-layer security only)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LANDLOCK_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:225:7 [INFO] [stdout] | [INFO] [stdout] 225 | const LANDLOCK_DESCRIPTION: &str = "Linux kernel LSM sandboxing (filesystem access control)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIREJAIL_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:226:7 [INFO] [stdout] | [INFO] [stdout] 226 | const FIREJAIL_DESCRIPTION: &str = "Linux user-space sandbox (requires firejail to be installed)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUBBLEWRAP_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:227:7 [INFO] [stdout] | [INFO] [stdout] 227 | const BUBBLEWRAP_DESCRIPTION: &str = "User namespace sandbox (requires bwrap)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOCKER_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:228:7 [INFO] [stdout] | [INFO] [stdout] 228 | const DOCKER_DESCRIPTION: &str = "Docker container isolation (requires docker)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SEATBELT_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:229:7 [INFO] [stdout] | [INFO] [stdout] 229 | const SEATBELT_DESCRIPTION: &str = "macOS Seatbelt sandbox (built-in sandbox-exec)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name` and `description` are never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 230 | impl SelectedSandboxBackend { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] 231 | fn name(self) -> &'static str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | fn description(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SeatbeltSandbox` is never constructed [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SeatbeltSandbox { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `with_workspace` and `is_installed` are never used [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SeatbeltSandbox { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn with_workspace(workspace: Option<&Path>) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn is_installed() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `seatbelt_string_literal` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn seatbelt_string_literal(value: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_policy` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn generate_policy(workspace: &Path) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_image` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/docker.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl DockerSandbox { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn with_image(image: String) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/shadow-runtime/src/tools/model_switch.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl ModelSwitchTool { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 24 | pub const NAME: &'static str = "model_switch"; [INFO] [stdout] 25 | pub fn new(security: Arc, config: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `streamed_live_delta`, `streamed_protocol_suppressed`, and `streamed_visible_text` are never read [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) struct ProviderCallOutcome { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 9 | pub chat_result: Result, [INFO] [stdout] 10 | pub streamed_live_delta: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub streamed_protocol_suppressed: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub streamed_visible_text: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `on_delta`, `event_tx`, `turn_id`, and `agent_alias` are never read [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct TurnCtx<'a>{ [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 7 | // pub observer: &'a dyn Observer, [INFO] [stdout] 8 | pub on_delta:Option<&'a Sender>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | pub event_tx:Option<&'a Sender>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub temperature: Option, [INFO] [stdout] 11 | pub turn_id: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pub agent_alias: Option<&'a str>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Text` and `Status` are never constructed [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/events.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum StreamDelta { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 5 | Text(String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Status(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamDelta` 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 `scoped_id` is never read [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct BroadcastHookEntry{ [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 20 | scoped_id: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `next_scoped_id` is never read [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct BroadcastHookState { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 26 | next_scoped_id: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `registry` is never read [INFO] [stdout] --> crates/shadow-runtime/src/observability/prometheus.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct PrometheusObserver { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 12 | registry: Registry, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `encode`, `shared`, and `registry` are never used [INFO] [stdout] --> crates/shadow-runtime/src/observability/prometheus.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl PrometheusObserver { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn encode(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn shared() -> Arc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn registry(&self) -> &Registry { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> crates/shadow-runtime/src/tools/model_switch.rs:137:18 [INFO] [stdout] | [INFO] [stdout] 137 | Some(m) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | config, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `config: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_alias` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | agent_alias, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `agent_alias: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | runtime, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `runtime: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exclude_memory` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | exclude_memory, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `exclude_memory: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unfiltered_tool_arcs` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | unfiltered_tool_arcs, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `unfiltered_tool_arcs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `before_filter` [INFO] [stdout] --> crates/shadow-runtime/src/tools/scoped.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let before_filter = tool_registry.len(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_before_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | memory: Arc, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | workspace_dir: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `live_config` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | live_config: Option>>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_shell_access` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let has_shell_access = runtime.has_shell_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_shell_access` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `persistent_writes` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let persistent_writes = runtime.has_filesystem_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persistent_writes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sandbox` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let sandbox = create_sandbox(&sandbox_cfg, runtime_kind, Some(&security.workspace_dir)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sandbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delegate_global_credential` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | let delegate_global_credential = fallback_api_key.and_then(|value| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delegate_global_credential` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `provider_runtime_options` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | let provider_runtime_options = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider_runtime_options` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delegate_handle` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | let delegate_handle: Option<&str> = if agents.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delegate_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `security` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:217:35 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn default_tools_with_runtime(security: Arc, runtime: Arc)-> Vec>{ [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_security` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `persist_writes` [INFO] [stdout] --> crates/shadow-runtime/src/tools/mod.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let persist_writes = runtime.has_filesystem_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persist_writes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tools_registry` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | tools_registry: &[Box], [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tools_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thinking_prefix` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | thinking_prefix: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thinking_prefix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `native_tools` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let native_tools = model_provider.supports_native_tools(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_native_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obs` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | let obs: Arc = Arc::from(base_obs); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model_switch_callback` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | let model_switch_callback = get_model_switch_state(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model_switch_callback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eff_temperature` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 310 | let eff_temperature = temperature; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eff_temperature` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime_capability_names` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 325 | let runtime_capability_names = tool_registry.iter().map(|t| t.name()).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime_capability_names` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_api_key` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:384:34 [INFO] [stdout] | [INFO] [stdout] 384 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_api_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_uri` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:384:50 [INFO] [stdout] | [INFO] [stdout] 384 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:401:33 [INFO] [stdout] | [INFO] [stdout] 401 | ... let model = new_model; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_api_key` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:518:38 [INFO] [stdout] | [INFO] [stdout] 518 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_api_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `switch_uri` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:518:54 [INFO] [stdout] | [INFO] [stdout] 518 | ... let (switch_api_key, switch_uri) = api_key_and_uri_for_provider(&config, &new_model_provider, agent_model_provider); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:535:37 [INFO] [stdout] | [INFO] [stdout] 535 | ... let model = new_model; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:581:13 [INFO] [stdout] | [INFO] [stdout] 581 | let duration = start.elapsed(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `response` is never read [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:342:32 [INFO] [stdout] | [INFO] [stdout] 342 | let mut response = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 370 | response = resp; [INFO] [stdout] | -------- `response` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_state_file` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | session_state_file: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_state_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed_tools` [INFO] [stdout] --> crates/shadow-runtime/src/agent/loop_.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | allowed_tools: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temperature` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | temperature, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `temperature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `channel_name` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | channel_name, [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `channel_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `channel_reply_target` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | channel_reply_target, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `channel_reply_target: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `provider_name` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:51:25 [INFO] [stdout] | [INFO] [stdout] 51 | let (model_provider,provider_name, model) = (model_provider, provider_name, model); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loop_start` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/turn.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let loop_start = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iteration` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:29:28 [INFO] [stdout] | [INFO] [stdout] 29 | ... iteration: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspace_dir` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | workspace_dir: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model_name` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | model_name: &str, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tools` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | tools: &[(&str, &str)], [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `autonomy_config` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | autonomy_config: Option<&RiskProfileConfig>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_autonomy_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `show_tool_calls` [INFO] [stdout] --> crates/shadow-runtime/src/agent/system_prompt.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | show_tool_calls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_tool_calls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metric` [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | fn record_metric(&self, metric: &ObserverMetric) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_metric` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TurnCtx<'_>` is more private than the item `call_provider` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / pub async fn call_provider(ctx: &TurnCtx<'_>, [INFO] [stdout] 24 | | model_provider: &dyn ModelProvider, [INFO] [stdout] 25 | | model: &str, [INFO] [stdout] 26 | | messages: &[ChatMessage], [INFO] [stdout] 27 | | tools: Option<&[ToolSpec]>, [INFO] [stdout] 28 | | should_consume_provider_stream: bool, [INFO] [stdout] 29 | | iteration: usize) -> Result { [INFO] [stdout] | |___________________________________________________________________________^ function `call_provider` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `TurnCtx<'_>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/context.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct TurnCtx<'a>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ProviderCallOutcome` is more private than the item `call_provider` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / pub async fn call_provider(ctx: &TurnCtx<'_>, [INFO] [stdout] 24 | | model_provider: &dyn ModelProvider, [INFO] [stdout] 25 | | model: &str, [INFO] [stdout] 26 | | messages: &[ChatMessage], [INFO] [stdout] 27 | | tools: Option<&[ToolSpec]>, [INFO] [stdout] 28 | | should_consume_provider_stream: bool, [INFO] [stdout] 29 | | iteration: usize) -> Result { [INFO] [stdout] | |___________________________________________________________________________^ function `call_provider` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ProviderCallOutcome` is only usable at visibility `pub(crate)` [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) struct ProviderCallOutcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_OUTPUT_LEN` is never used [INFO] [stdout] --> crates/shadow-runtime/src/cron/mod.rs:147:7 [INFO] [stdout] | [INFO] [stdout] 147 | const MAX_OUTPUT_LEN: usize = 10 * 1024; [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 `schedule_cron_expression` is never used [INFO] [stdout] --> crates/shadow-runtime/src/cron/schedule.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn schedule_cron_expression(schedule: &Schedule) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BLOCKED_PATTERNS` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const DEFAULT_BLOCKED_PATTERNS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_FORBIDDEN_PATHS` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const DEFAULT_FORBIDDEN_PATHS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAFE_ENV_VARS` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/mod.rs:63:7 [INFO] [stdout] | [INFO] [stdout] 63 | const SAFE_ENV_VARS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NOOP_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:224:7 [INFO] [stdout] | [INFO] [stdout] 224 | const NOOP_DESCRIPTION: &str = "No sandboxing (application-layer security only)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LANDLOCK_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:225:7 [INFO] [stdout] | [INFO] [stdout] 225 | const LANDLOCK_DESCRIPTION: &str = "Linux kernel LSM sandboxing (filesystem access control)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIREJAIL_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:226:7 [INFO] [stdout] | [INFO] [stdout] 226 | const FIREJAIL_DESCRIPTION: &str = "Linux user-space sandbox (requires firejail to be installed)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUBBLEWRAP_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:227:7 [INFO] [stdout] | [INFO] [stdout] 227 | const BUBBLEWRAP_DESCRIPTION: &str = "User namespace sandbox (requires bwrap)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOCKER_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:228:7 [INFO] [stdout] | [INFO] [stdout] 228 | const DOCKER_DESCRIPTION: &str = "Docker container isolation (requires docker)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SEATBELT_DESCRIPTION` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:229:7 [INFO] [stdout] | [INFO] [stdout] 229 | const SEATBELT_DESCRIPTION: &str = "macOS Seatbelt sandbox (built-in sandbox-exec)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name` and `description` are never used [INFO] [stdout] --> crates/shadow-runtime/src/security/detect.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 230 | impl SelectedSandboxBackend { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] 231 | fn name(self) -> &'static str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | fn description(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SeatbeltSandbox` is never constructed [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SeatbeltSandbox { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `with_workspace` and `is_installed` are never used [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SeatbeltSandbox { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn with_workspace(workspace: Option<&Path>) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn is_installed() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `seatbelt_string_literal` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn seatbelt_string_literal(value: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_policy` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/seatbelt.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn generate_policy(workspace: &Path) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_image` is never used [INFO] [stdout] --> crates/shadow-runtime/src/security/docker.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl DockerSandbox { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn with_image(image: String) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/shadow-runtime/src/tools/model_switch.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl ModelSwitchTool { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 24 | pub const NAME: &'static str = "model_switch"; [INFO] [stdout] 25 | pub fn new(security: Arc, config: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `streamed_live_delta`, `streamed_protocol_suppressed`, and `streamed_visible_text` are never read [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/provider_call.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) struct ProviderCallOutcome { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 9 | pub chat_result: Result, [INFO] [stdout] 10 | pub streamed_live_delta: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub streamed_protocol_suppressed: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub streamed_visible_text: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `on_delta`, `event_tx`, `turn_id`, and `agent_alias` are never read [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct TurnCtx<'a>{ [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 7 | // pub observer: &'a dyn Observer, [INFO] [stdout] 8 | pub on_delta:Option<&'a Sender>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | pub event_tx:Option<&'a Sender>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub temperature: Option, [INFO] [stdout] 11 | pub turn_id: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pub agent_alias: Option<&'a str>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Text` and `Status` are never constructed [INFO] [stdout] --> crates/shadow-runtime/src/agent/turn/events.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum StreamDelta { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 5 | Text(String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Status(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamDelta` 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 `scoped_id` is never read [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct BroadcastHookEntry{ [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 20 | scoped_id: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `next_scoped_id` is never read [INFO] [stdout] --> crates/shadow-runtime/src/observability/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct BroadcastHookState { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 26 | next_scoped_id: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `registry` is never read [INFO] [stdout] --> crates/shadow-runtime/src/observability/prometheus.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct PrometheusObserver { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 12 | registry: Registry, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `encode`, `shared`, and `registry` are never used [INFO] [stdout] --> crates/shadow-runtime/src/observability/prometheus.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl PrometheusObserver { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn encode(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn shared() -> Arc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn registry(&self) -> &Registry { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking shadow v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `shadow::config` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use shadow::config; [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: `shadow_config::Config` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use shadow_config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_log::Action` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use shadow_log::Action; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_providers::ProviderDispatch` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use shadow_providers::ProviderDispatch; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StdinLock` [INFO] [stdout] --> src/main.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | use std::io::{BufRead, StdinLock}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow::config` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use shadow::config; [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: `shadow_config::Config` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use shadow_config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_log::Action` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use shadow_log::Action; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shadow_providers::ProviderDispatch` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use shadow_providers::ProviderDispatch; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StdinLock` [INFO] [stdout] --> src/main.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | use std::io::{BufRead, StdinLock}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/main.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | use std::io::{BufRead, StdinLock}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/main.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | use std::io::{BufRead, StdinLock}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | let mut config = Box::pin(shadow_config::Config::load_or_init()).await?; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model_provider` [INFO] [stdout] --> src/main.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | model_provider, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `model_provider: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> src/main.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | model, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `model: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | let mut config = Box::pin(shadow_config::Config::load_or_init()).await?; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model_provider` [INFO] [stdout] --> src/main.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | model_provider, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `model_provider: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> src/main.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | model, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `model: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STDIN_LINE_CAP` is never used [INFO] [stdout] --> src/main.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const STDIN_LINE_CAP: usize = 1024 * 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_directive` is never used [INFO] [stdout] --> src/main.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl LogLevel { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 57 | fn as_directive(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_terminal` is never used [INFO] [stdout] --> src/main.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn is_terminal() -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CappedLine` is never used [INFO] [stdout] --> src/main.rs:303:6 [INFO] [stdout] | [INFO] [stdout] 303 | enum CappedLine { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_capped_line` is never used [INFO] [stdout] --> src/main.rs:309:4 [INFO] [stdout] | [INFO] [stdout] 309 | fn read_capped_line(reader: R, cap: usize) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `discard_until_newline` is never used [INFO] [stdout] --> src/main.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn discard_until_newline(reader: &mut R) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STDIN_LINE_CAP` is never used [INFO] [stdout] --> src/main.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const STDIN_LINE_CAP: usize = 1024 * 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_directive` is never used [INFO] [stdout] --> src/main.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl LogLevel { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 57 | fn as_directive(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_terminal` is never used [INFO] [stdout] --> src/main.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn is_terminal() -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CappedLine` is never used [INFO] [stdout] --> src/main.rs:303:6 [INFO] [stdout] | [INFO] [stdout] 303 | enum CappedLine { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_capped_line` is never used [INFO] [stdout] --> src/main.rs:309:4 [INFO] [stdout] | [INFO] [stdout] 309 | fn read_capped_line(reader: R, cap: usize) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `discard_until_newline` is never used [INFO] [stdout] --> src/main.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn discard_until_newline(reader: &mut R) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 23s [INFO] running `Command { std: "docker" "inspect" "11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d", kill_on_drop: false }` [INFO] [stdout] 11edba8ad8c7d20b77ce1ec1e1b759977b367a78b475b307cde48d49dce0e84d