[INFO] fetching crate rninja 0.1.0... [INFO] testing rninja-0.1.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate rninja 0.1.0 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate rninja 0.1.0 [INFO] finished tweaking crates.io crate rninja 0.1.0 [INFO] tweaked toml for crates.io crate rninja 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rninja 0.1.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rninja 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dcbd2993e3695bf16f64a032a24a7ec8e7bc75997171513fdb555c50f6addffd [INFO] running `Command { std: "docker" "start" "-a" "dcbd2993e3695bf16f64a032a24a7ec8e7bc75997171513fdb555c50f6addffd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dcbd2993e3695bf16f64a032a24a7ec8e7bc75997171513fdb555c50f6addffd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dcbd2993e3695bf16f64a032a24a7ec8e7bc75997171513fdb555c50f6addffd", kill_on_drop: false }` [INFO] [stdout] dcbd2993e3695bf16f64a032a24a7ec8e7bc75997171513fdb555c50f6addffd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4ccff91245ee2da693ea4dd5c2dcad9674172e6fb9e086add1886c1097be6f53 [INFO] running `Command { std: "docker" "start" "-a" "4ccff91245ee2da693ea4dd5c2dcad9674172e6fb9e086add1886c1097be6f53", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling tracing-core v0.1.35 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling nng-sys v1.4.0-rc.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling raw-cpuid v11.6.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_json v1.0.147 [INFO] [stderr] Compiling clap_builder v4.5.53 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling quanta v0.12.6 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling filetime v0.2.26 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.7 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling spinning_top v0.3.0 [INFO] [stderr] Compiling env_home v0.1.0 [INFO] [stderr] Compiling itoa v1.0.16 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling ptr_meta_derive v0.3.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling bytecheck_derive v0.8.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling ptr_meta v0.3.1 [INFO] [stderr] Compiling rancor v0.1.1 [INFO] [stderr] Compiling munge_macro v0.4.7 [INFO] [stderr] Compiling rkyv_derive v0.8.12 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling bytecheck v0.8.2 [INFO] [stderr] Compiling munge v0.4.7 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling rend v0.5.3 [INFO] [stderr] Compiling tracing v0.1.43 [INFO] [stderr] Compiling nonzero_ext v0.3.0 [INFO] [stderr] Compiling no-std-compat v0.4.1 [INFO] [stderr] Compiling zmij v0.1.7 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling clap v4.5.53 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling governor v0.6.3 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling sled v0.34.7 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling ctrlc v3.5.1 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling notify v6.1.1 [INFO] [stderr] Compiling rkyv v0.8.12 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling nng v1.0.1 [INFO] [stderr] Compiling memmap2 v0.9.9 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling rninja v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/admin/cache_stats.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [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::os::unix::fs::PermissionsExt` [INFO] [stdout] --> src/cache/blob.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | use std::os::unix::fs::PermissionsExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PROTOCOL_VERSION` [INFO] [stdout] --> src/cache/remote/client.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | DEFAULT_CHUNK_SIZE, PROTOCOL_VERSION, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/cache/mod.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/cache/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/cache/mod.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | use std::time::{Duration, Instant, SystemTime}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/daemon/watcher.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nng::options::Options` [INFO] [stdout] --> src/server/handler.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use nng::options::Options; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::RwLock` [INFO] [stdout] --> src/server/handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use parking_lot::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/server/handler.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::atomic::{AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicBool` [INFO] [stdout] --> src/server/mod.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/server/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/server/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_health.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn run_cache_health(verbose: bool, json: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_stats.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn run_cache_stats(verbose: bool, json: bool) -> Result<(), ExecError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `blob_store` [INFO] [stdout] --> src/cache/remote/client.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | blob_store: &BlobStore, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/cache/schema.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from_version` [INFO] [stdout] --> src/cache/schema.rs:151:27 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/cache/mod.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let now = SystemTime::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_bytes` is never used [INFO] [stdout] --> src/cache/hasher.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn hash_bytes(data: &[u8]) -> 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: field `socket` is never read [INFO] [stdout] --> src/client/connection.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct DaemonClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 26 | socket_path: PathBuf, [INFO] [stdout] 27 | socket: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `event_tx` is never read [INFO] [stdout] --> src/daemon/watcher.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct FileWatcher { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | event_tx: Sender, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `trace_begin` is never used [INFO] [stdout] --> src/executor/mod.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 128 | impl BuildState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 202 | fn trace_begin(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command` is never used [INFO] [stdout] --> src/executor/runner.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn run_command(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command_streaming` is never used [INFO] [stdout] --> src/executor/runner.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn run_command_streaming(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `command_exists` is never used [INFO] [stdout] --> src/executor/runner.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn command_exists(name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> src/graph/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | rules: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` 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 `is_tty` is never read [INFO] [stdout] --> src/output.rs:238:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ProgressHandle { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 238 | is_tty: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProgressHandle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `continued_line` are never read [INFO] [stdout] --> src/parser/lexer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Lexer<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 3 | content: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | continued_line: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `blobs` is never read [INFO] [stdout] --> src/server/handler.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CacheServer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | blobs: BlobStore, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_timestamp` is never read [INFO] [stdout] --> src/trace.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct BuildTrace { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | start_timestamp: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/admin/cache_stats.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [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: `GcReport` [INFO] [stdout] --> src/admin/mod.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | pub use cache_gc::{run_cache_gc, GcOptions, GcReport}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HealthCheck`, `HealthReport`, and `HealthStatus` [INFO] [stdout] --> src/admin/mod.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | pub use cache_health::{run_cache_health, HealthCheck, HealthReport, HealthStatus}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CacheStatsReport` [INFO] [stdout] --> src/admin/mod.rs:11:40 [INFO] [stdout] | [INFO] [stdout] 11 | pub use cache_stats::{run_cache_stats, CacheStatsReport}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::fs::PermissionsExt` [INFO] [stdout] --> src/cache/blob.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | use std::os::unix::fs::PermissionsExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PROTOCOL_VERSION` [INFO] [stdout] --> src/cache/remote/client.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | DEFAULT_CHUNK_SIZE, PROTOCOL_VERSION, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClientStats` [INFO] [stdout] --> src/cache/remote/mod.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | pub use client::{ClientStats, RemoteCacheClient, RemoteClientConfig, RetryConfig}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorCode`, `PROTOCOL_VERSION`, `RequestEnvelope`, `Request`, and `Response` [INFO] [stdout] --> src/cache/remote/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | ErrorCode, Request, RequestEnvelope, Response, WireCacheEntry, PROTOCOL_VERSION, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CURRENT_SCHEMA_VERSION`, `SchemaInfo`, and `check_and_migrate` [INFO] [stdout] --> src/cache/mod.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | pub use schema::{check_and_migrate, SchemaInfo, CURRENT_SCHEMA_VERSION}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemoteCacheConfig` [INFO] [stdout] --> src/cache/mod.rs:10:66 [INFO] [stdout] | [INFO] [stdout] 10 | pub use config::{CacheConfig, CacheMode, PullPolicy, PushPolicy, RemoteCacheConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/cache/mod.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/cache/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/cache/mod.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | use std::time::{Duration, Instant, SystemTime}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nng::options::Options` [INFO] [stdout] --> src/server/handler.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use nng::options::Options; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::RwLock` [INFO] [stdout] --> src/server/handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use parking_lot::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/server/handler.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::atomic::{AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicBool` [INFO] [stdout] --> src/server/mod.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/server/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/server/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_health.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn run_cache_health(verbose: bool, json: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_stats.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn run_cache_stats(verbose: bool, json: bool) -> Result<(), ExecError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `blob_store` [INFO] [stdout] --> src/cache/remote/client.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | blob_store: &BlobStore, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/cache/schema.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from_version` [INFO] [stdout] --> src/cache/schema.rs:151:27 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/cache/mod.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let now = SystemTime::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_mtime` and `needs_rebuild` are never used [INFO] [stdout] --> src/buildlog.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl BuildLog { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get_mtime(&self, output: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn needs_rebuild(&self, output: &str, command_hash: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `invalidate`, `prefetch`, `prefetch_parallel`, and `insert` are never used [INFO] [stdout] --> src/buildlog.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 189 | impl MtimeCache { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn invalidate(&mut self, path: &Path) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn prefetch(&mut self, paths: &[&Path]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn prefetch_parallel(&mut self, paths: &[PathBuf]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn insert(&mut self, path: PathBuf, mtime: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `remote_hits`, `remote_misses`, `remote_errors`, and `remote_timeouts` are never read [INFO] [stdout] --> src/cache/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct CacheStats { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pub remote_hits: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 30 | pub remote_misses: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 31 | pub remote_errors: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub remote_timeouts: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheStats` 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: methods `hit_rate`, `total_hits`, `total_misses`, and `combined_hit_rate` are never used [INFO] [stdout] --> src/cache/mod.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl CacheStats { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 36 | pub fn hit_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn total_hits(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn total_misses(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn combined_hit_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `remote` is never read [INFO] [stdout] --> src/cache/mod.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct Cache { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 74 | remote: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/cache/mod.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Cache { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn mode(&self) -> CacheMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn has_remote(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub async fn connect_remote(&self) -> Result<(), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub async fn lookup_async(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | async fn lookup_remote(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub async fn store_async( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 391 | fn should_push(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn restore(&self, entry: &CacheEntry) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn stats(&self) -> CacheStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub fn gc(&self) -> Result { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 467 | pub fn is_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GcStats` is never constructed [INFO] [stdout] --> src/cache/mod.rs:474:12 [INFO] [stdout] | [INFO] [stdout] 474 | pub struct GcStats { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `restore`, `exists`, `gc`, and `total_size` are never used [INFO] [stdout] --> src/cache/blob.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BlobStore { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn restore(&self, hash: &str, dest: &Path) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn exists(&self, hash: &str) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn gc(&self) -> Result { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn total_size(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlobGcStats` is never constructed [INFO] [stdout] --> src/cache/blob.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 179 | pub struct BlobGcStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `auto_migrate` is never read [INFO] [stdout] --> src/cache/config.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct CacheConfig { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 183 | pub auto_migrate: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheConfig` 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: associated function `disabled` is never used [INFO] [stdout] --> src/cache/config.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 200 | impl CacheConfig { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn disabled() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_bytes` is never used [INFO] [stdout] --> src/cache/hasher.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn hash_bytes(data: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `client_id`, `connect_timeout`, `request_timeout`, `chunk_size`, and `retry` are never read [INFO] [stdout] --> src/cache/remote/client.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct RemoteClientConfig { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pub client_id: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 30 | /// Connection timeout [INFO] [stdout] 31 | pub connect_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | /// Request timeout [INFO] [stdout] 33 | pub request_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub chunk_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 38 | /// Retry configuration [INFO] [stdout] 39 | pub retry: RetryConfig, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteClientConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_retries`, `initial_backoff`, and `max_backoff` are never read [INFO] [stdout] --> src/cache/remote/client.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct RetryConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 60 | /// Maximum number of retry attempts [INFO] [stdout] 61 | pub max_retries: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 62 | /// Initial backoff duration [INFO] [stdout] 63 | pub initial_backoff: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | /// Maximum backoff duration [INFO] [stdout] 65 | pub max_backoff: Duration, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RetryConfig` 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: multiple fields are never read [INFO] [stdout] --> src/cache/remote/client.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct ClientStats { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 81 | pub requests_sent: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 82 | pub requests_failed: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 83 | pub bytes_sent: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 84 | pub bytes_received: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub cache_hits: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 86 | pub cache_misses: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 87 | pub retries: AtomicU64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 88 | pub avg_latency_us: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 89 | latency_samples: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 90 | latency_sum_us: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_request`, `record_latency`, `record_hit`, `record_miss`, `record_failure`, and `record_retry` are never used [INFO] [stdout] --> src/cache/remote/client.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 93 | impl ClientStats { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 94 | pub fn record_request(&self, bytes_sent: usize, bytes_received: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn record_latency(&self, latency: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn record_hit(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn record_miss(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn record_failure(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn record_retry(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config`, `semaphore`, and `stats` are never read [INFO] [stdout] --> src/cache/remote/client.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct RemoteCacheClient { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 129 | config: RemoteClientConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 130 | socket: RwLock>, [INFO] [stdout] 131 | semaphore: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 132 | stats: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cache/remote/client.rs:163:18 [INFO] [stdout] | [INFO] [stdout] 136 | impl RemoteCacheClient { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub async fn connect(&self) -> Result<(), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn is_connected(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn stats(&self) -> &ClientStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn generate_client_id() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | async fn send_request(&self, request: Request) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | async fn send_with_retry(&self, request: Request) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub async fn ping(&self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub async fn exists(&self, keys: &[&str]) -> Result, RemoteCacheError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub async fn lookup(&self, key: &str) -> Result, RemoteCacheError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub async fn pull_blobs( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub async fn push_entry( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn push_blob(&self, hash: &str, data: &[u8]) -> Result<(), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub async fn push_blob_from_file(&self, path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub async fn server_stats(&self) -> Result<(u64, u64, u64, u64), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cache/remote/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum RemoteCacheError { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 11 | ConnectionFailed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | ConnectionTimeout(u64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | RequestTimeout(u64), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | AuthFailed(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | ServerError { code: ErrorCode, message: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | RateLimited(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | InvalidResponse(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | Shutdown, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | BlobTransferFailed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | ChecksumMismatch { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteCacheError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_retryable` and `is_fatal` are never used [INFO] [stdout] --> src/cache/remote/error.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl RemoteCacheError { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 67 | /// Check if this error is retryable [INFO] [stdout] 68 | pub fn is_retryable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn is_fatal(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROTOCOL_VERSION` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const PROTOCOL_VERSION: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthHeader` is never constructed [INFO] [stdout] --> src/cache/remote/protocol.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct AuthHeader { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestEnvelope` is never constructed [INFO] [stdout] --> src/cache/remote/protocol.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct RequestEnvelope { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl RequestEnvelope { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 37 | pub fn new(token: String, client_id: Option, request: Request) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WireCacheEntry` is never constructed [INFO] [stdout] --> src/cache/remote/protocol.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct WireCacheEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_entry`, `to_outputs`, and `created_time` are never used [INFO] [stdout] --> src/cache/remote/protocol.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl WireCacheEntry { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 60 | pub fn from_entry(command: &str, outputs: &[(PathBuf, String)], created: SystemTime) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn to_outputs(&self) -> Vec<(PathBuf, String)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn created_time(&self) -> SystemTime { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Request` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub enum Request { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Response` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum Response { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `error` and `is_error` are never used [INFO] [stdout] --> src/cache/remote/protocol.rs:187:12 [INFO] [stdout] | [INFO] [stdout] 186 | impl Response { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 187 | pub fn error(code: ErrorCode, message: impl Into) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn is_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_request` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn serialize_request(envelope: &RequestEnvelope) -> Result, rmp_serde::encode::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deserialize_request` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:205:8 [INFO] [stdout] | [INFO] [stdout] 205 | pub fn deserialize_request(data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_response` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:210:8 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn serialize_response(response: &Response) -> Result, rmp_serde::encode::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deserialize_response` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn deserialize_response(data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_SCHEMA_VERSION` is never used [INFO] [stdout] --> src/cache/schema.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const CURRENT_SCHEMA_VERSION: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCHEMA_KEY` is never used [INFO] [stdout] --> src/cache/schema.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const SCHEMA_KEY: &[u8] = b"__rninja_schema__"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SchemaInfo` is never constructed [INFO] [stdout] --> src/cache/schema.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct SchemaInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `current`, `serialize`, and `deserialize` are never used [INFO] [stdout] --> src/cache/schema.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl SchemaInfo { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 29 | /// Create schema info for a new cache [INFO] [stdout] 30 | pub fn current() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn serialize(&self) -> Result, ExecError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn deserialize(data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MigrationStats` is never constructed [INFO] [stdout] --> src/cache/schema.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct MigrationStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_and_migrate` is never used [INFO] [stdout] --> src/cache/schema.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn check_and_migrate(db: &sled::Db, auto_migrate: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrate` is never used [INFO] [stdout] --> src/cache/schema.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `keep_depfile` is never used [INFO] [stdout] --> src/cli.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Cli { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn keep_depfile(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default_config_path` is never used [INFO] [stdout] --> src/config.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 102 | impl Config { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn default_config_path() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnknownRule` and `MissingVariable` are never constructed [INFO] [stdout] --> src/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ParseError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | UnknownRule { name: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | MissingVariable { var: String, rule: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `trace_begin` is never used [INFO] [stdout] --> src/executor/mod.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 128 | impl BuildState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 202 | fn trace_begin(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command` is never used [INFO] [stdout] --> src/executor/runner.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn run_command(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command_streaming` is never used [INFO] [stdout] --> src/executor/runner.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn run_command_streaming(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `command_exists` is never used [INFO] [stdout] --> src/executor/runner.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn command_exists(name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> src/graph/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | rules: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nodes` is never used [INFO] [stdout] --> src/graph/mod.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Graph { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn nodes(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rule`, `restat`, and `generator` are never read [INFO] [stdout] --> src/graph/node.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub rule: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub restat: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` 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 `display` is never used [INFO] [stdout] --> src/graph/node.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Node { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn display(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuildMetrics` is never constructed [INFO] [stdout] --> src/metrics/mod.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct BuildMetrics { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/metrics/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl BuildMetrics { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 40 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn record_target_built(&self, exec_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn record_target_skipped(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn record_target_failed(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn record_cache_hit(&self, lookup_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn record_cache_miss(&self, lookup_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn record_cache_store(&self, store_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn record_queue_depth(&self, depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn set_total_targets(&self, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn set_build_time(&self, duration: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn cache_hit_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn snapshot(&self) -> MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetricsSnapshot` is never constructed [INFO] [stdout] --> src/metrics/mod.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cache_hit_rate` and `to_json` are never used [INFO] [stdout] --> src/metrics/mod.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 144 | impl MetricsSnapshot { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 145 | pub fn cache_hit_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn to_json(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `export_prometheus` is never used [INFO] [stdout] --> src/metrics/prometheus.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn export_prometheus(snapshot: &MetricsSnapshot) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/output.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum JsonEvent<'a> { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 70 | Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Styles` is never constructed [INFO] [stdout] --> src/output.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct Styles { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProgressReporter` is never constructed [INFO] [stdout] --> src/output.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct ProgressReporter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/output.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl ProgressReporter { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 124 | pub fn new(total: usize, verbose: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn with_mode(total: usize, verbose: bool, output_mode: OutputMode, parallelism: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn handle(&self) -> ProgressHandle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn start(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn finish(&self, success: bool, duration_ms: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn finish_with_cache(&self, success: bool, duration_ms: u64, cache_hits: Option, cache_misses: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn disable(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn output_mode(&self) -> OutputMode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProgressHandle` is never constructed [INFO] [stdout] --> src/output.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ProgressHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/output.rs:246:12 [INFO] [stdout] | [INFO] [stdout] 244 | impl ProgressHandle { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 245 | /// Report a target being built [INFO] [stdout] 246 | pub fn building(&self, target: &str, command: Option<&str>) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn finished(&self, target: &str, success: bool, error: Option<&str>) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn cache_hit(&self, target: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn error(&self, target: &str, message: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn increment(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn current(&self) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn output_mode(&self) -> OutputMode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_duration` is never used [INFO] [stdout] --> src/output.rs:379:8 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn format_duration(ms: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/parser/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parse(content: &str) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `continued_line` are never read [INFO] [stdout] --> src/parser/lexer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Lexer<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 3 | content: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | continued_line: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/parser/manifest.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Rule { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 25 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Rule` 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 `name` is never read [INFO] [stdout] --> src/parser/manifest.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct Pool { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 89 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pool` 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: struct `ServerStats` is never constructed [INFO] [stdout] --> src/server/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct ServerStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `record_request` is never used [INFO] [stdout] --> src/server/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl ServerStats { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 33 | pub fn record_request(&self, success: bool, bytes_in: usize, bytes_out: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_server` is never used [INFO] [stdout] --> src/server/mod.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | pub async fn run_server(config: ServerConfig) -> Result<(), ExecError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenValidator` is never constructed [INFO] [stdout] --> src/server/auth.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct TokenValidator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `validate`, `is_required`, and `token_count` are never used [INFO] [stdout] --> src/server/auth.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TokenValidator { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 16 | /// Create a new token validator from config [INFO] [stdout] 17 | pub fn new(config: &AuthConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn validate(&self, auth: &AuthHeader) -> AuthResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn is_required(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn token_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AuthResult` is never used [INFO] [stdout] --> src/server/auth.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | pub enum AuthResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_allowed` is never used [INFO] [stdout] --> src/server/auth.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl AuthResult { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 64 | pub fn is_allowed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerConfig` is never constructed [INFO] [stdout] --> src/server/config.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ServerConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_file`, `from_env`, and `entry_ttl` are never used [INFO] [stdout] --> src/server/config.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl ServerConfig { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 54 | /// Load configuration from a TOML file [INFO] [stdout] 55 | pub fn from_file(path: &std::path::Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn from_env() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn entry_ttl(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthConfig` is never constructed [INFO] [stdout] --> src/server/config.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct AuthConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_listen_addr` is never used [INFO] [stdout] --> src/server/config.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn default_listen_addr() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_storage_dir` is never used [INFO] [stdout] --> src/server/config.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn default_storage_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_max_connections` is never used [INFO] [stdout] --> src/server/config.rs:127:4 [INFO] [stdout] | [INFO] [stdout] 127 | fn default_max_connections() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_require_auth` is never used [INFO] [stdout] --> src/server/config.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn default_require_auth() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_size` is never used [INFO] [stdout] --> src/server/config.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn parse_size(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheServer` is never constructed [INFO] [stdout] --> src/server/handler.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CacheServer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/server/handler.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl CacheServer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 32 | /// Create a new cache server [INFO] [stdout] 33 | pub fn new(config: ServerConfig) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub async fn run(&self) -> Result<(), ExecError> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | async fn handle_request(&self, data: &[u8]) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn handle_ping(&self) -> Response { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | fn handle_stats(&self) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | fn handle_exists(&self, keys: &[String]) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | fn handle_lookup(&self, key: &str) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn handle_push_entry(&self, key: &str, wire_entry: WireCacheEntry) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn handle_push_blob(&self, hash: &str, data: &[u8], offset: u64, total: u64) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | fn handle_push_blob_complete(&self, hash: &str, _checksum: &str) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | fn handle_pull_blobs(&self, hashes: &[String]) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 334 | fn blob_path(&self, hash: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_timestamp` is never read [INFO] [stdout] --> src/trace.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct BuildTrace { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | start_timestamp: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/trace.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl BuildTrace { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn begin_target(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn end_target(&self, target: &str, tid: u32, cache_hit: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn instant(&self, name: &str, category: &str, tid: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn total_duration_us(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn critical_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn slow_targets(&self, threshold_ms: u64) -> Vec<(String, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn stats(&self) -> TraceStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TraceStats` is never constructed [INFO] [stdout] --> src/trace.rs:336:12 [INFO] [stdout] | [INFO] [stdout] 336 | pub struct TraceStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parallelism` and `summary` are never used [INFO] [stdout] --> src/trace.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 345 | impl TraceStats { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 346 | /// Calculate parallelism (total CPU time / wall time) [INFO] [stdout] 347 | pub fn parallelism(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn summary(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 18s [INFO] running `Command { std: "docker" "inspect" "4ccff91245ee2da693ea4dd5c2dcad9674172e6fb9e086add1886c1097be6f53", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ccff91245ee2da693ea4dd5c2dcad9674172e6fb9e086add1886c1097be6f53", kill_on_drop: false }` [INFO] [stdout] 4ccff91245ee2da693ea4dd5c2dcad9674172e6fb9e086add1886c1097be6f53 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f7a3b6246a938856c379d48bc878135ca0e63d37eab90b0cf5faa6db9283dd55 [INFO] running `Command { std: "docker" "start" "-a" "f7a3b6246a938856c379d48bc878135ca0e63d37eab90b0cf5faa6db9283dd55", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling assert_cmd v2.1.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling rninja v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/admin/cache_stats.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [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::os::unix::fs::PermissionsExt` [INFO] [stdout] --> src/cache/blob.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | use std::os::unix::fs::PermissionsExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PROTOCOL_VERSION` [INFO] [stdout] --> src/cache/remote/client.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | DEFAULT_CHUNK_SIZE, PROTOCOL_VERSION, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/cache/mod.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/cache/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/cache/mod.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | use std::time::{Duration, Instant, SystemTime}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/daemon/watcher.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nng::options::Options` [INFO] [stdout] --> src/server/handler.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use nng::options::Options; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::RwLock` [INFO] [stdout] --> src/server/handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use parking_lot::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/server/handler.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::atomic::{AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicBool` [INFO] [stdout] --> src/server/mod.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/server/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/server/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/admin/cache_stats.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [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::os::unix::fs::PermissionsExt` [INFO] [stdout] --> src/cache/blob.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | use std::os::unix::fs::PermissionsExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PROTOCOL_VERSION` [INFO] [stdout] --> src/cache/remote/client.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | DEFAULT_CHUNK_SIZE, PROTOCOL_VERSION, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/cache/mod.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/cache/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/cache/mod.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | use std::time::{Duration, Instant, SystemTime}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/daemon/watcher.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nng::options::Options` [INFO] [stdout] --> src/server/handler.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use nng::options::Options; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::RwLock` [INFO] [stdout] --> src/server/handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use parking_lot::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/server/handler.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::atomic::{AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicBool` [INFO] [stdout] --> src/server/mod.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/server/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/server/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_health.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn run_cache_health(verbose: bool, json: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_stats.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn run_cache_stats(verbose: bool, json: bool) -> Result<(), ExecError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `blob_store` [INFO] [stdout] --> src/cache/remote/client.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | blob_store: &BlobStore, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/cache/schema.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from_version` [INFO] [stdout] --> src/cache/schema.rs:151:27 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/cache/mod.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let now = SystemTime::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_health.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn run_cache_health(verbose: bool, json: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_stats.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn run_cache_stats(verbose: bool, json: bool) -> Result<(), ExecError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `blob_store` [INFO] [stdout] --> src/cache/remote/client.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | blob_store: &BlobStore, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/cache/schema.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from_version` [INFO] [stdout] --> src/cache/schema.rs:151:27 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/cache/mod.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let now = SystemTime::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_bytes` is never used [INFO] [stdout] --> src/cache/hasher.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn hash_bytes(data: &[u8]) -> 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: field `socket` is never read [INFO] [stdout] --> src/client/connection.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct DaemonClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 26 | socket_path: PathBuf, [INFO] [stdout] 27 | socket: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `event_tx` is never read [INFO] [stdout] --> src/daemon/watcher.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct FileWatcher { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | event_tx: Sender, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `trace_begin` is never used [INFO] [stdout] --> src/executor/mod.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 128 | impl BuildState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 202 | fn trace_begin(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command` is never used [INFO] [stdout] --> src/executor/runner.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn run_command(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command_streaming` is never used [INFO] [stdout] --> src/executor/runner.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn run_command_streaming(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `command_exists` is never used [INFO] [stdout] --> src/executor/runner.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn command_exists(name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> src/graph/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | rules: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` 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 `is_tty` is never read [INFO] [stdout] --> src/output.rs:238:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ProgressHandle { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 238 | is_tty: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProgressHandle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `continued_line` are never read [INFO] [stdout] --> src/parser/lexer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Lexer<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 3 | content: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | continued_line: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `blobs` is never read [INFO] [stdout] --> src/server/handler.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CacheServer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | blobs: BlobStore, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_timestamp` is never read [INFO] [stdout] --> src/trace.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct BuildTrace { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | start_timestamp: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_bytes` is never used [INFO] [stdout] --> src/cache/hasher.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn hash_bytes(data: &[u8]) -> 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: field `socket` is never read [INFO] [stdout] --> src/client/connection.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct DaemonClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 26 | socket_path: PathBuf, [INFO] [stdout] 27 | socket: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `event_tx` is never read [INFO] [stdout] --> src/daemon/watcher.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct FileWatcher { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | event_tx: Sender, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `trace_begin` is never used [INFO] [stdout] --> src/executor/mod.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 128 | impl BuildState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 202 | fn trace_begin(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command` is never used [INFO] [stdout] --> src/executor/runner.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn run_command(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command_streaming` is never used [INFO] [stdout] --> src/executor/runner.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn run_command_streaming(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `command_exists` is never used [INFO] [stdout] --> src/executor/runner.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn command_exists(name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> src/graph/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | rules: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` 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 `is_tty` is never read [INFO] [stdout] --> src/output.rs:238:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ProgressHandle { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 238 | is_tty: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProgressHandle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `continued_line` are never read [INFO] [stdout] --> src/parser/lexer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Lexer<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 3 | content: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | continued_line: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `blobs` is never read [INFO] [stdout] --> src/server/handler.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CacheServer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | blobs: BlobStore, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_timestamp` is never read [INFO] [stdout] --> src/trace.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct BuildTrace { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | start_timestamp: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/admin/cache_stats.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [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: `GcReport` [INFO] [stdout] --> src/admin/mod.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | pub use cache_gc::{run_cache_gc, GcOptions, GcReport}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HealthCheck`, `HealthReport`, and `HealthStatus` [INFO] [stdout] --> src/admin/mod.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | pub use cache_health::{run_cache_health, HealthCheck, HealthReport, HealthStatus}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CacheStatsReport` [INFO] [stdout] --> src/admin/mod.rs:11:40 [INFO] [stdout] | [INFO] [stdout] 11 | pub use cache_stats::{run_cache_stats, CacheStatsReport}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::fs::PermissionsExt` [INFO] [stdout] --> src/cache/blob.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | use std::os::unix::fs::PermissionsExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PROTOCOL_VERSION` [INFO] [stdout] --> src/cache/remote/client.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | DEFAULT_CHUNK_SIZE, PROTOCOL_VERSION, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClientStats` [INFO] [stdout] --> src/cache/remote/mod.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | pub use client::{ClientStats, RemoteCacheClient, RemoteClientConfig, RetryConfig}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorCode`, `PROTOCOL_VERSION`, `RequestEnvelope`, `Request`, and `Response` [INFO] [stdout] --> src/cache/remote/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | ErrorCode, Request, RequestEnvelope, Response, WireCacheEntry, PROTOCOL_VERSION, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CURRENT_SCHEMA_VERSION`, `SchemaInfo`, and `check_and_migrate` [INFO] [stdout] --> src/cache/mod.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | pub use schema::{check_and_migrate, SchemaInfo, CURRENT_SCHEMA_VERSION}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemoteCacheConfig` [INFO] [stdout] --> src/cache/mod.rs:10:66 [INFO] [stdout] | [INFO] [stdout] 10 | pub use config::{CacheConfig, CacheMode, PullPolicy, PushPolicy, RemoteCacheConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/cache/mod.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/cache/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/cache/mod.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | use std::time::{Duration, Instant, SystemTime}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nng::options::Options` [INFO] [stdout] --> src/server/handler.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use nng::options::Options; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::RwLock` [INFO] [stdout] --> src/server/handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use parking_lot::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/server/handler.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::atomic::{AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicBool` [INFO] [stdout] --> src/server/mod.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/server/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/server/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_health.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn run_cache_health(verbose: bool, json: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/admin/cache_stats.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn run_cache_stats(verbose: bool, json: bool) -> Result<(), ExecError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `blob_store` [INFO] [stdout] --> src/cache/remote/client.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | blob_store: &BlobStore, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/cache/schema.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from_version` [INFO] [stdout] --> src/cache/schema.rs:151:27 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/cache/mod.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let now = SystemTime::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_mtime` and `needs_rebuild` are never used [INFO] [stdout] --> src/buildlog.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl BuildLog { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get_mtime(&self, output: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn needs_rebuild(&self, output: &str, command_hash: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `invalidate`, `prefetch`, `prefetch_parallel`, and `insert` are never used [INFO] [stdout] --> src/buildlog.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 189 | impl MtimeCache { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn invalidate(&mut self, path: &Path) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn prefetch(&mut self, paths: &[&Path]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn prefetch_parallel(&mut self, paths: &[PathBuf]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn insert(&mut self, path: PathBuf, mtime: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `remote_hits`, `remote_misses`, `remote_errors`, and `remote_timeouts` are never read [INFO] [stdout] --> src/cache/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct CacheStats { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pub remote_hits: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 30 | pub remote_misses: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 31 | pub remote_errors: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub remote_timeouts: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheStats` 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: methods `hit_rate`, `total_hits`, `total_misses`, and `combined_hit_rate` are never used [INFO] [stdout] --> src/cache/mod.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl CacheStats { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 36 | pub fn hit_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn total_hits(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn total_misses(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn combined_hit_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `remote` is never read [INFO] [stdout] --> src/cache/mod.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct Cache { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 74 | remote: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/cache/mod.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Cache { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn mode(&self) -> CacheMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn has_remote(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub async fn connect_remote(&self) -> Result<(), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub async fn lookup_async(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | async fn lookup_remote(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub async fn store_async( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 391 | fn should_push(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn restore(&self, entry: &CacheEntry) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn stats(&self) -> CacheStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub fn gc(&self) -> Result { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 467 | pub fn is_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GcStats` is never constructed [INFO] [stdout] --> src/cache/mod.rs:474:12 [INFO] [stdout] | [INFO] [stdout] 474 | pub struct GcStats { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `gc` and `total_size` are never used [INFO] [stdout] --> src/cache/blob.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BlobStore { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn gc(&self) -> Result { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn total_size(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlobGcStats` is never constructed [INFO] [stdout] --> src/cache/blob.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 179 | pub struct BlobGcStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `auto_migrate` is never read [INFO] [stdout] --> src/cache/config.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct CacheConfig { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 183 | pub auto_migrate: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheConfig` 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: associated function `disabled` is never used [INFO] [stdout] --> src/cache/config.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 200 | impl CacheConfig { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn disabled() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_bytes` is never used [INFO] [stdout] --> src/cache/hasher.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn hash_bytes(data: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `client_id`, `connect_timeout`, `request_timeout`, `chunk_size`, and `retry` are never read [INFO] [stdout] --> src/cache/remote/client.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct RemoteClientConfig { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pub client_id: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 30 | /// Connection timeout [INFO] [stdout] 31 | pub connect_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | /// Request timeout [INFO] [stdout] 33 | pub request_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub chunk_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 38 | /// Retry configuration [INFO] [stdout] 39 | pub retry: RetryConfig, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteClientConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_retries`, `initial_backoff`, and `max_backoff` are never read [INFO] [stdout] --> src/cache/remote/client.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct RetryConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 60 | /// Maximum number of retry attempts [INFO] [stdout] 61 | pub max_retries: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 62 | /// Initial backoff duration [INFO] [stdout] 63 | pub initial_backoff: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | /// Maximum backoff duration [INFO] [stdout] 65 | pub max_backoff: Duration, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `requests_failed` and `retries` are never read [INFO] [stdout] --> src/cache/remote/client.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct ClientStats { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 81 | pub requests_sent: AtomicU64, [INFO] [stdout] 82 | pub requests_failed: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub retries: AtomicU64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_failure` and `record_retry` are never used [INFO] [stdout] --> src/cache/remote/client.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 93 | impl ClientStats { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn record_failure(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn record_retry(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config`, `semaphore`, and `stats` are never read [INFO] [stdout] --> src/cache/remote/client.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct RemoteCacheClient { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 129 | config: RemoteClientConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 130 | socket: RwLock>, [INFO] [stdout] 131 | semaphore: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 132 | stats: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/cache/remote/client.rs:163:18 [INFO] [stdout] | [INFO] [stdout] 136 | impl RemoteCacheClient { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub async fn connect(&self) -> Result<(), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn is_connected(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn stats(&self) -> &ClientStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | async fn send_request(&self, request: Request) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | async fn send_with_retry(&self, request: Request) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub async fn ping(&self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub async fn exists(&self, keys: &[&str]) -> Result, RemoteCacheError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub async fn lookup(&self, key: &str) -> Result, RemoteCacheError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub async fn pull_blobs( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub async fn push_entry( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn push_blob(&self, hash: &str, data: &[u8]) -> Result<(), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub async fn push_blob_from_file(&self, path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub async fn server_stats(&self) -> Result<(u64, u64, u64, u64), RemoteCacheError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ConnectionFailed`, `ServerError`, `InvalidResponse`, `BlobTransferFailed`, and `ChecksumMismatch` are never constructed [INFO] [stdout] --> src/cache/remote/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum RemoteCacheError { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 11 | ConnectionFailed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | ServerError { code: ErrorCode, message: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | InvalidResponse(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | BlobTransferFailed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | ChecksumMismatch { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteCacheError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_entry`, `to_outputs`, and `created_time` are never used [INFO] [stdout] --> src/cache/remote/protocol.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl WireCacheEntry { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 60 | pub fn from_entry(command: &str, outputs: &[(PathBuf, String)], created: SystemTime) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn to_outputs(&self) -> Vec<(PathBuf, String)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn created_time(&self) -> SystemTime { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_error` is never used [INFO] [stdout] --> src/cache/remote/protocol.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 186 | impl Response { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn is_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCHEMA_KEY` is never used [INFO] [stdout] --> src/cache/schema.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const SCHEMA_KEY: &[u8] = b"__rninja_schema__"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MigrationStats` is never constructed [INFO] [stdout] --> src/cache/schema.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct MigrationStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_and_migrate` is never used [INFO] [stdout] --> src/cache/schema.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn check_and_migrate(db: &sled::Db, auto_migrate: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrate` is never used [INFO] [stdout] --> src/cache/schema.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `keep_depfile` is never used [INFO] [stdout] --> src/cli.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Cli { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn keep_depfile(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default_config_path` is never used [INFO] [stdout] --> src/config.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 102 | impl Config { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn default_config_path() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnknownRule` and `MissingVariable` are never constructed [INFO] [stdout] --> src/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ParseError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | UnknownRule { name: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | MissingVariable { var: String, rule: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `trace_begin` is never used [INFO] [stdout] --> src/executor/mod.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 128 | impl BuildState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 202 | fn trace_begin(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command` is never used [INFO] [stdout] --> src/executor/runner.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn run_command(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_command_streaming` is never used [INFO] [stdout] --> src/executor/runner.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn run_command_streaming(cmd: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `command_exists` is never used [INFO] [stdout] --> src/executor/runner.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn command_exists(name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> src/graph/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | rules: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nodes` is never used [INFO] [stdout] --> src/graph/mod.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Graph { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn nodes(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rule`, `restat`, and `generator` are never read [INFO] [stdout] --> src/graph/node.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub rule: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub restat: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` 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 `display` is never used [INFO] [stdout] --> src/graph/node.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Node { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn display(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuildMetrics` is never constructed [INFO] [stdout] --> src/metrics/mod.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct BuildMetrics { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/metrics/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl BuildMetrics { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 40 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn record_target_built(&self, exec_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn record_target_skipped(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn record_target_failed(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn record_cache_hit(&self, lookup_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn record_cache_miss(&self, lookup_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn record_cache_store(&self, store_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn record_queue_depth(&self, depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn set_total_targets(&self, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn set_build_time(&self, duration: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn cache_hit_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn snapshot(&self) -> MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cache_store_time_us` is never read [INFO] [stdout] --> src/metrics/mod.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct MetricsSnapshot { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 140 | pub cache_store_time_us: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MetricsSnapshot` 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 `to_json` is never used [INFO] [stdout] --> src/metrics/mod.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 144 | impl MetricsSnapshot { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn to_json(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/output.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum JsonEvent<'a> { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 70 | Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Styles` is never constructed [INFO] [stdout] --> src/output.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct Styles { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProgressReporter` is never constructed [INFO] [stdout] --> src/output.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct ProgressReporter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/output.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl ProgressReporter { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 124 | pub fn new(total: usize, verbose: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn with_mode(total: usize, verbose: bool, output_mode: OutputMode, parallelism: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn handle(&self) -> ProgressHandle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn start(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn finish(&self, success: bool, duration_ms: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn finish_with_cache(&self, success: bool, duration_ms: u64, cache_hits: Option, cache_misses: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn disable(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn output_mode(&self) -> OutputMode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProgressHandle` is never constructed [INFO] [stdout] --> src/output.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ProgressHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/output.rs:246:12 [INFO] [stdout] | [INFO] [stdout] 244 | impl ProgressHandle { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 245 | /// Report a target being built [INFO] [stdout] 246 | pub fn building(&self, target: &str, command: Option<&str>) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn finished(&self, target: &str, success: bool, error: Option<&str>) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn cache_hit(&self, target: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn error(&self, target: &str, message: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn increment(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn current(&self) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn output_mode(&self) -> OutputMode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `continued_line` are never read [INFO] [stdout] --> src/parser/lexer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Lexer<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 3 | content: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | continued_line: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/parser/manifest.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Rule { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 25 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Rule` 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 `name` is never read [INFO] [stdout] --> src/parser/manifest.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct Pool { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 89 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pool` 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: struct `ServerStats` is never constructed [INFO] [stdout] --> src/server/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct ServerStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `record_request` is never used [INFO] [stdout] --> src/server/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl ServerStats { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 33 | pub fn record_request(&self, success: bool, bytes_in: usize, bytes_out: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_server` is never used [INFO] [stdout] --> src/server/mod.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | pub async fn run_server(config: ServerConfig) -> Result<(), ExecError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_required` and `token_count` are never used [INFO] [stdout] --> src/server/auth.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TokenValidator { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn is_required(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn token_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_allowed` is never used [INFO] [stdout] --> src/server/auth.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl AuthResult { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 64 | pub fn is_allowed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `storage_dir`, `max_storage_size`, `workers`, `max_connections`, and `entry_ttl_secs` are never read [INFO] [stdout] --> src/server/config.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ServerConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub storage_dir: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub max_storage_size: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub workers: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub max_connections: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub entry_ttl_secs: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerConfig` 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: associated items `from_file`, `from_env`, and `entry_ttl` are never used [INFO] [stdout] --> src/server/config.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl ServerConfig { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 54 | /// Load configuration from a TOML file [INFO] [stdout] 55 | pub fn from_file(path: &std::path::Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn from_env() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn entry_ttl(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheServer` is never constructed [INFO] [stdout] --> src/server/handler.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CacheServer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/server/handler.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl CacheServer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 32 | /// Create a new cache server [INFO] [stdout] 33 | pub fn new(config: ServerConfig) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub async fn run(&self) -> Result<(), ExecError> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | async fn handle_request(&self, data: &[u8]) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn handle_ping(&self) -> Response { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | fn handle_stats(&self) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | fn handle_exists(&self, keys: &[String]) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | fn handle_lookup(&self, key: &str) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn handle_push_entry(&self, key: &str, wire_entry: WireCacheEntry) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn handle_push_blob(&self, hash: &str, data: &[u8], offset: u64, total: u64) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | fn handle_push_blob_complete(&self, hash: &str, _checksum: &str) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | fn handle_pull_blobs(&self, hashes: &[String]) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 334 | fn blob_path(&self, hash: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_timestamp` is never read [INFO] [stdout] --> src/trace.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct BuildTrace { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | start_timestamp: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `begin_target`, `end_target`, `instant`, and `critical_path` are never used [INFO] [stdout] --> src/trace.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl BuildTrace { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn begin_target(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn end_target(&self, target: &str, tid: u32, cache_hit: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn instant(&self, name: &str, category: &str, tid: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn critical_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `total_time_us`, `avg_time_us`, `max_time_us`, and `wall_time_us` are never read [INFO] [stdout] --> src/trace.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 336 | pub struct TraceStats { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 339 | pub total_time_us: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 340 | pub avg_time_us: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 341 | pub max_time_us: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 342 | pub wall_time_us: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TraceStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parallelism` and `summary` are never used [INFO] [stdout] --> src/trace.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 345 | impl TraceStats { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 346 | /// Calculate parallelism (total CPU time / wall time) [INFO] [stdout] 347 | pub fn parallelism(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn summary(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 49.72s [INFO] running `Command { std: "docker" "inspect" "f7a3b6246a938856c379d48bc878135ca0e63d37eab90b0cf5faa6db9283dd55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f7a3b6246a938856c379d48bc878135ca0e63d37eab90b0cf5faa6db9283dd55", kill_on_drop: false }` [INFO] [stdout] f7a3b6246a938856c379d48bc878135ca0e63d37eab90b0cf5faa6db9283dd55 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c2455ff6a3e67b64e5d205a05e444625416fe1f7f451d22a40f75818b36b01ed [INFO] running `Command { std: "docker" "start" "-a" "c2455ff6a3e67b64e5d205a05e444625416fe1f7f451d22a40f75818b36b01ed", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/admin/cache_stats.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::unix::fs::PermissionsExt` [INFO] [stderr] --> src/cache/blob.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | use std::os::unix::fs::PermissionsExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PROTOCOL_VERSION` [INFO] [stderr] --> src/cache/remote/client.rs:8:25 [INFO] [stderr] | [INFO] [stderr] 8 | DEFAULT_CHUNK_SIZE, PROTOCOL_VERSION, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PathBuf` [INFO] [stderr] --> src/cache/mod.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/cache/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> src/cache/mod.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | use std::time::{Duration, Instant, SystemTime}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/daemon/watcher.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nng::options::Options` [INFO] [stderr] --> src/server/handler.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use nng::options::Options; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parking_lot::RwLock` [INFO] [stderr] --> src/server/handler.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use parking_lot::RwLock; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `AtomicU64` [INFO] [stderr] --> src/server/handler.rs:16:25 [INFO] [stderr] | [INFO] [stderr] 16 | use std::sync::atomic::{AtomicU64, Ordering}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `AtomicBool` [INFO] [stderr] --> src/server/mod.rs:14:25 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/server/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> src/server/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verbose` [INFO] [stderr] --> src/admin/cache_health.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn run_cache_health(verbose: bool, json: bool) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verbose` [INFO] [stderr] --> src/admin/cache_stats.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn run_cache_stats(verbose: bool, json: bool) -> Result<(), ExecError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `blob_store` [INFO] [stderr] --> src/cache/remote/client.rs:370:9 [INFO] [stderr] | [INFO] [stderr] 370 | blob_store: &BlobStore, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `db` [INFO] [stderr] --> src/cache/schema.rs:151:12 [INFO] [stderr] | [INFO] [stderr] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from_version` [INFO] [stderr] --> src/cache/schema.rs:151:27 [INFO] [stderr] | [INFO] [stderr] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_version` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `now` [INFO] [stderr] --> src/cache/mod.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | let now = SystemTime::now(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stderr] [INFO] [stderr] warning: function `hash_bytes` is never used [INFO] [stderr] --> src/cache/hasher.rs:76:8 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn hash_bytes(data: &[u8]) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `socket` is never read [INFO] [stderr] --> src/client/connection.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub struct DaemonClient { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 26 | socket_path: PathBuf, [INFO] [stderr] 27 | socket: Option, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `event_tx` is never read [INFO] [stderr] --> src/daemon/watcher.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub struct FileWatcher { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 39 | event_tx: Sender, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `trace_begin` is never used [INFO] [stderr] --> src/executor/mod.rs:202:8 [INFO] [stderr] | [INFO] [stderr] 128 | impl BuildState { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 202 | fn trace_begin(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `run_command` is never used [INFO] [stderr] --> src/executor/runner.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn run_command(cmd: &str) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `run_command_streaming` is never used [INFO] [stderr] --> src/executor/runner.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn run_command_streaming(cmd: &str) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `command_exists` is never used [INFO] [stderr] --> src/executor/runner.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn command_exists(name: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `rules` is never read [INFO] [stderr] --> src/graph/mod.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct Graph { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] ... [INFO] [stderr] 25 | rules: HashMap, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `is_tty` is never read [INFO] [stderr] --> src/output.rs:238:5 [INFO] [stderr] | [INFO] [stderr] 234 | pub struct ProgressHandle { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 238 | is_tty: bool, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ProgressHandle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `content` and `continued_line` are never read [INFO] [stderr] --> src/parser/lexer.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 2 | pub struct Lexer<'a> { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 3 | content: &'a str, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 7 | continued_line: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `blobs` is never read [INFO] [stderr] --> src/server/handler.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub struct CacheServer { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 25 | blobs: BlobStore, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `start_timestamp` is never read [INFO] [stderr] --> src/trace.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct BuildTrace { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 39 | start_timestamp: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rninja` (lib) generated 31 warnings (run `cargo fix --lib -p rninja` to apply 19 suggestions) [INFO] [stderr] warning: unused import: `GcReport` [INFO] [stderr] --> src/admin/mod.rs:9:45 [INFO] [stderr] | [INFO] [stderr] 9 | pub use cache_gc::{run_cache_gc, GcOptions, GcReport}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HealthCheck`, `HealthReport`, and `HealthStatus` [INFO] [stderr] --> src/admin/mod.rs:10:42 [INFO] [stderr] | [INFO] [stderr] 10 | pub use cache_health::{run_cache_health, HealthCheck, HealthReport, HealthStatus}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CacheStatsReport` [INFO] [stderr] --> src/admin/mod.rs:11:40 [INFO] [stderr] | [INFO] [stderr] 11 | pub use cache_stats::{run_cache_stats, CacheStatsReport}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ClientStats` [INFO] [stderr] --> src/cache/remote/mod.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | pub use client::{ClientStats, RemoteCacheClient, RemoteClientConfig, RetryConfig}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorCode`, `PROTOCOL_VERSION`, `RequestEnvelope`, `Request`, and `Response` [INFO] [stderr] --> src/cache/remote/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | ErrorCode, Request, RequestEnvelope, Response, WireCacheEntry, PROTOCOL_VERSION, [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CURRENT_SCHEMA_VERSION`, `SchemaInfo`, and `check_and_migrate` [INFO] [stderr] --> src/cache/mod.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | pub use schema::{check_and_migrate, SchemaInfo, CURRENT_SCHEMA_VERSION}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RemoteCacheConfig` [INFO] [stderr] --> src/cache/mod.rs:10:66 [INFO] [stderr] | [INFO] [stderr] 10 | pub use config::{CacheConfig, CacheMode, PullPolicy, PushPolicy, RemoteCacheConfig}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_mtime` and `needs_rebuild` are never used [INFO] [stderr] --> src/buildlog.rs:112:12 [INFO] [stderr] | [INFO] [stderr] 33 | impl BuildLog { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 112 | pub fn get_mtime(&self, output: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 156 | pub fn needs_rebuild(&self, output: &str, command_hash: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: methods `invalidate`, `prefetch`, `prefetch_parallel`, and `insert` are never used [INFO] [stderr] --> src/buildlog.rs:208:12 [INFO] [stderr] | [INFO] [stderr] 189 | impl MtimeCache { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 208 | pub fn invalidate(&mut self, path: &Path) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 213 | pub fn prefetch(&mut self, paths: &[&Path]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 223 | pub fn prefetch_parallel(&mut self, paths: &[PathBuf]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 249 | pub fn insert(&mut self, path: PathBuf, mtime: Option) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `remote_hits`, `remote_misses`, `remote_errors`, and `remote_timeouts` are never read [INFO] [stderr] --> src/cache/mod.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct CacheStats { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 29 | pub remote_hits: usize, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 30 | pub remote_misses: usize, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 31 | pub remote_errors: usize, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 32 | pub remote_timeouts: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CacheStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `hit_rate`, `total_hits`, `total_misses`, and `combined_hit_rate` are never used [INFO] [stderr] --> src/cache/mod.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 35 | impl CacheStats { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] 36 | pub fn hit_rate(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 45 | pub fn total_hits(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | pub fn total_misses(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn combined_hit_rate(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `remote` is never read [INFO] [stderr] --> src/cache/mod.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 64 | pub struct Cache { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] ... [INFO] [stderr] 74 | remote: Option, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/cache/mod.rs:149:12 [INFO] [stderr] | [INFO] [stderr] 77 | impl Cache { [INFO] [stderr] | ---------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 149 | pub fn mode(&self) -> CacheMode { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 154 | pub fn has_remote(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 159 | pub async fn connect_remote(&self) -> Result<(), RemoteCacheError> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 223 | pub async fn lookup_async(&self, key: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 273 | async fn lookup_remote(&self, key: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 351 | pub async fn store_async( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 391 | fn should_push(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 403 | pub fn restore(&self, entry: &CacheEntry) -> Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 414 | pub fn stats(&self) -> CacheStats { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 419 | pub fn gc(&self) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 467 | pub fn is_enabled(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `GcStats` is never constructed [INFO] [stderr] --> src/cache/mod.rs:474:12 [INFO] [stderr] | [INFO] [stderr] 474 | pub struct GcStats { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `gc` and `total_size` are never used [INFO] [stderr] --> src/cache/blob.rs:133:12 [INFO] [stderr] | [INFO] [stderr] 14 | impl BlobStore { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 133 | pub fn gc(&self) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 158 | pub fn total_size(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BlobGcStats` is never constructed [INFO] [stderr] --> src/cache/blob.rs:179:12 [INFO] [stderr] | [INFO] [stderr] 179 | pub struct BlobGcStats { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `auto_migrate` is never read [INFO] [stderr] --> src/cache/config.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 169 | pub struct CacheConfig { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 183 | pub auto_migrate: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CacheConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `disabled` is never used [INFO] [stderr] --> src/cache/config.rs:249:12 [INFO] [stderr] | [INFO] [stderr] 200 | impl CacheConfig { [INFO] [stderr] | ---------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 249 | pub fn disabled() -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `hash_bytes` is never used [INFO] [stderr] --> src/cache/hasher.rs:76:8 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn hash_bytes(data: &[u8]) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `client_id`, `connect_timeout`, `request_timeout`, `chunk_size`, and `retry` are never read [INFO] [stderr] --> src/cache/remote/client.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct RemoteClientConfig { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 29 | pub client_id: Option, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 30 | /// Connection timeout [INFO] [stderr] 31 | pub connect_timeout: Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 32 | /// Request timeout [INFO] [stderr] 33 | pub request_timeout: Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 37 | pub chunk_size: usize, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 38 | /// Retry configuration [INFO] [stderr] 39 | pub retry: RetryConfig, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RemoteClientConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `max_retries`, `initial_backoff`, and `max_backoff` are never read [INFO] [stderr] --> src/cache/remote/client.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 59 | pub struct RetryConfig { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 60 | /// Maximum number of retry attempts [INFO] [stderr] 61 | pub max_retries: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 62 | /// Initial backoff duration [INFO] [stderr] 63 | pub initial_backoff: Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 64 | /// Maximum backoff duration [INFO] [stderr] 65 | pub max_backoff: Duration, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `requests_failed` and `retries` are never read [INFO] [stderr] --> src/cache/remote/client.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 80 | pub struct ClientStats { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 81 | pub requests_sent: AtomicU64, [INFO] [stderr] 82 | pub requests_failed: AtomicU64, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | pub retries: AtomicU64, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ClientStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `record_failure` and `record_retry` are never used [INFO] [stderr] --> src/cache/remote/client.rs:118:12 [INFO] [stderr] | [INFO] [stderr] 93 | impl ClientStats { [INFO] [stderr] | ---------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 118 | pub fn record_failure(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 122 | pub fn record_retry(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `config`, `semaphore`, and `stats` are never read [INFO] [stderr] --> src/cache/remote/client.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 128 | pub struct RemoteCacheClient { [INFO] [stderr] | ----------------- fields in this struct [INFO] [stderr] 129 | config: RemoteClientConfig, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 130 | socket: RwLock>, [INFO] [stderr] 131 | semaphore: Arc, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 132 | stats: Arc, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/cache/remote/client.rs:163:18 [INFO] [stderr] | [INFO] [stderr] 136 | impl RemoteCacheClient { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 163 | pub async fn connect(&self) -> Result<(), RemoteCacheError> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 206 | pub fn is_connected(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 211 | pub fn stats(&self) -> &ClientStats { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 229 | async fn send_request(&self, request: Request) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | async fn send_with_retry(&self, request: Request) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 319 | pub async fn ping(&self) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 330 | pub async fn exists(&self, keys: &[&str]) -> Result, RemoteCacheError> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 345 | pub async fn lookup(&self, key: &str) -> Result, RemoteCacheError> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 367 | pub async fn pull_blobs( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 398 | pub async fn push_entry( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 418 | pub async fn push_blob(&self, hash: &str, data: &[u8]) -> Result<(), RemoteCacheError> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 454 | pub async fn push_blob_from_file(&self, path: &Path) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 466 | pub async fn server_stats(&self) -> Result<(u64, u64, u64, u64), RemoteCacheError> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `ConnectionFailed`, `ServerError`, `InvalidResponse`, `BlobTransferFailed`, and `ChecksumMismatch` are never constructed [INFO] [stderr] --> src/cache/remote/error.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub enum RemoteCacheError { [INFO] [stderr] | ---------------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 11 | ConnectionFailed(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | ServerError { code: ErrorCode, message: String }, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | InvalidResponse(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | BlobTransferFailed(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 55 | ChecksumMismatch { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RemoteCacheError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `from_entry`, `to_outputs`, and `created_time` are never used [INFO] [stderr] --> src/cache/remote/protocol.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 59 | impl WireCacheEntry { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] 60 | pub fn from_entry(command: &str, outputs: &[(PathBuf, String)], created: SystemTime) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 76 | pub fn to_outputs(&self) -> Vec<(PathBuf, String)> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 83 | pub fn created_time(&self) -> SystemTime { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `is_error` is never used [INFO] [stderr] --> src/cache/remote/protocol.rs:194:12 [INFO] [stderr] | [INFO] [stderr] 186 | impl Response { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 194 | pub fn is_error(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SCHEMA_KEY` is never used [INFO] [stderr] --> src/cache/schema.rs:13:11 [INFO] [stderr] | [INFO] [stderr] 13 | pub const SCHEMA_KEY: &[u8] = b"__rninja_schema__"; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MigrationStats` is never constructed [INFO] [stderr] --> src/cache/schema.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | pub struct MigrationStats { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_and_migrate` is never used [INFO] [stderr] --> src/cache/schema.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn check_and_migrate(db: &sled::Db, auto_migrate: bool) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `migrate` is never used [INFO] [stderr] --> src/cache/schema.rs:151:4 [INFO] [stderr] | [INFO] [stderr] 151 | fn migrate(db: &sled::Db, from_version: u32) -> Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `keep_depfile` is never used [INFO] [stderr] --> src/cli.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 68 | impl Cli { [INFO] [stderr] | -------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 75 | pub fn keep_depfile(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `default_config_path` is never used [INFO] [stderr] --> src/config.rs:155:12 [INFO] [stderr] | [INFO] [stderr] 102 | impl Config { [INFO] [stderr] | ----------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 155 | pub fn default_config_path() -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `UnknownRule` and `MissingVariable` are never constructed [INFO] [stderr] --> src/error.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum ParseError { [INFO] [stderr] | ---------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 9 | UnknownRule { name: String }, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | MissingVariable { var: String, rule: String }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `nodes` is never used [INFO] [stderr] --> src/graph/mod.rs:120:12 [INFO] [stderr] | [INFO] [stderr] 32 | impl Graph { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 120 | pub fn nodes(&self) -> impl Iterator { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `rule`, `restat`, and `generator` are never read [INFO] [stderr] --> src/graph/node.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Node { [INFO] [stderr] | ---- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 15 | pub rule: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | pub restat: bool, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub generator: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `display` is never used [INFO] [stderr] --> src/graph/node.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 34 | impl Node { [INFO] [stderr] | --------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn display(&self) -> &str { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BuildMetrics` is never constructed [INFO] [stderr] --> src/metrics/mod.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct BuildMetrics { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/metrics/mod.rs:40:12 [INFO] [stderr] | [INFO] [stderr] 39 | impl BuildMetrics { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] 40 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub fn record_target_built(&self, exec_time: Duration) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn record_target_skipped(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | pub fn record_target_failed(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 58 | pub fn record_cache_hit(&self, lookup_time: Duration) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 64 | pub fn record_cache_miss(&self, lookup_time: Duration) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | pub fn record_cache_store(&self, store_time: Duration) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 75 | pub fn record_queue_depth(&self, depth: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 82 | pub fn set_total_targets(&self, count: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | pub fn set_build_time(&self, duration: Duration) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 91 | pub fn cache_hit_rate(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 103 | pub fn snapshot(&self) -> MetricsSnapshot { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `cache_store_time_us` is never read [INFO] [stderr] --> src/metrics/mod.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 126 | pub struct MetricsSnapshot { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 140 | pub cache_store_time_us: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `MetricsSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `to_json` is never used [INFO] [stderr] --> src/metrics/mod.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 144 | impl MetricsSnapshot { [INFO] [stderr] | -------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 154 | pub fn to_json(&self) -> String { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Error` is never constructed [INFO] [stderr] --> src/output.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 27 | pub enum JsonEvent<'a> { [INFO] [stderr] | --------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 70 | Error { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `JsonEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `Styles` is never constructed [INFO] [stderr] --> src/output.rs:88:12 [INFO] [stderr] | [INFO] [stderr] 88 | pub struct Styles { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ProgressReporter` is never constructed [INFO] [stderr] --> src/output.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | pub struct ProgressReporter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/output.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 123 | impl ProgressReporter { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 124 | pub fn new(total: usize, verbose: bool) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | pub fn with_mode(total: usize, verbose: bool, output_mode: OutputMode, parallelism: usize) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 144 | pub fn handle(&self) -> ProgressHandle { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 157 | pub fn start(&self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 174 | pub fn finish(&self, success: bool, duration_ms: u64) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 179 | pub fn finish_with_cache(&self, success: bool, duration_ms: u64, cache_hits: Option, cache_misses: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 222 | pub fn disable(&self) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 227 | pub fn output_mode(&self) -> OutputMode { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ProgressHandle` is never constructed [INFO] [stderr] --> src/output.rs:234:12 [INFO] [stderr] | [INFO] [stderr] 234 | pub struct ProgressHandle { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/output.rs:246:12 [INFO] [stderr] | [INFO] [stderr] 244 | impl ProgressHandle { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] 245 | /// Report a target being built [INFO] [stderr] 246 | pub fn building(&self, target: &str, command: Option<&str>) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 280 | pub fn finished(&self, target: &str, success: bool, error: Option<&str>) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 314 | pub fn cache_hit(&self, target: &str) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 342 | pub fn error(&self, target: &str, message: &str) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 363 | pub fn increment(&self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 368 | pub fn current(&self) -> usize { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | pub fn output_mode(&self) -> OutputMode { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `name` is never read [INFO] [stderr] --> src/parser/manifest.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct Rule { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] 25 | pub name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Rule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `name` is never read [INFO] [stderr] --> src/parser/manifest.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 88 | pub struct Pool { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] 89 | pub name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Pool` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `ServerStats` is never constructed [INFO] [stderr] --> src/server/mod.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct ServerStats { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `record_request` is never used [INFO] [stderr] --> src/server/mod.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 32 | impl ServerStats { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] 33 | pub fn record_request(&self, success: bool, bytes_in: usize, bytes_out: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `run_server` is never used [INFO] [stderr] --> src/server/mod.rs:48:14 [INFO] [stderr] | [INFO] [stderr] 48 | pub async fn run_server(config: ServerConfig) -> Result<(), ExecError> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `is_required` and `token_count` are never used [INFO] [stderr] --> src/server/auth.rs:42:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl TokenValidator { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn is_required(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub fn token_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `is_allowed` is never used [INFO] [stderr] --> src/server/auth.rs:64:12 [INFO] [stderr] | [INFO] [stderr] 63 | impl AuthResult { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] 64 | pub fn is_allowed(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `storage_dir`, `max_storage_size`, `workers`, `max_connections`, and `entry_ttl_secs` are never read [INFO] [stderr] --> src/server/config.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct ServerConfig { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 16 | pub storage_dir: PathBuf, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | pub max_storage_size: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | pub workers: usize, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | pub max_connections: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 36 | pub entry_ttl_secs: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ServerConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `from_file`, `from_env`, and `entry_ttl` are never used [INFO] [stderr] --> src/server/config.rs:55:12 [INFO] [stderr] | [INFO] [stderr] 53 | impl ServerConfig { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] 54 | /// Load configuration from a TOML file [INFO] [stderr] 55 | pub fn from_file(path: &std::path::Path) -> Result> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | pub fn from_env() -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 93 | pub fn entry_ttl(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CacheServer` is never constructed [INFO] [stderr] --> src/server/handler.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | pub struct CacheServer { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/server/handler.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 31 | impl CacheServer { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 32 | /// Create a new cache server [INFO] [stderr] 33 | pub fn new(config: ServerConfig) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 74 | pub async fn run(&self) -> Result<(), ExecError> { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | async fn handle_request(&self, data: &[u8]) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 177 | fn handle_ping(&self) -> Response { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 187 | fn handle_stats(&self) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 203 | fn handle_exists(&self, keys: &[String]) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 212 | fn handle_lookup(&self, key: &str) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 248 | fn handle_push_entry(&self, key: &str, wire_entry: WireCacheEntry) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 282 | fn handle_push_blob(&self, hash: &str, data: &[u8], offset: u64, total: u64) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 311 | fn handle_push_blob_complete(&self, hash: &str, _checksum: &str) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 323 | fn handle_pull_blobs(&self, hashes: &[String]) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | fn blob_path(&self, hash: &str) -> PathBuf { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `begin_target`, `end_target`, `instant`, and `critical_path` are never used [INFO] [stderr] --> src/trace.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 44 | impl BuildTrace { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn begin_target(&self, target: &str, command: Option<&str>, tid: u32) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 100 | pub fn end_target(&self, target: &str, tid: u32, cache_hit: bool) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 186 | pub fn instant(&self, name: &str, category: &str, tid: u32) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 254 | pub fn critical_path(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `total_time_us`, `avg_time_us`, `max_time_us`, and `wall_time_us` are never read [INFO] [stderr] --> src/trace.rs:339:9 [INFO] [stderr] | [INFO] [stderr] 336 | pub struct TraceStats { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 339 | pub total_time_us: u64, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 340 | pub avg_time_us: u64, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 341 | pub max_time_us: u64, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 342 | pub wall_time_us: u64, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TraceStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `parallelism` and `summary` are never used [INFO] [stderr] --> src/trace.rs:347:12 [INFO] [stderr] | [INFO] [stderr] 345 | impl TraceStats { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] 346 | /// Calculate parallelism (total CPU time / wall time) [INFO] [stderr] 347 | pub fn parallelism(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 356 | pub fn summary(&self) -> String { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rninja` (bin "rninja" test) generated 87 warnings (25 duplicates) (run `cargo fix --bin "rninja" -p rninja --tests` to apply 7 suggestions) [INFO] [stderr] warning: `rninja` (lib test) generated 31 warnings (31 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rninja-d6d41ce9bf5b1def) [INFO] [stdout] [INFO] [stdout] running 60 tests [INFO] [stdout] test buildlog::tests::test_build_log_roundtrip ... ok [INFO] [stdout] test cache::config::tests::test_parse_size ... ok [INFO] [stdout] test buildlog::tests::test_hash_command ... ok [INFO] [stdout] test cache::entry::tests::test_roundtrip ... ok [INFO] [stdout] test cache::remote::client::tests::test_config_validation ... ok [INFO] [stdout] test cache::hasher::tests::test_action_key_differs_by_command ... ok [INFO] [stdout] test cache::remote::client::tests::test_stats_recording ... ok [INFO] [stdout] test cache::remote::error::tests::test_fatal_errors ... ok [INFO] [stdout] test cache::remote::error::tests::test_retryable_errors ... ok [INFO] [stdout] test cache::hasher::tests::test_hash_file ... ok [INFO] [stdout] test cache::blob::tests::test_deduplication ... ok [INFO] [stdout] test cache::remote::protocol::tests::test_error_response ... ok [INFO] [stdout] test cache::remote::protocol::tests::test_request_roundtrip ... ok [INFO] [stdout] test cache::remote::protocol::tests::test_response_roundtrip ... ok [INFO] [stdout] test cache::schema::tests::test_schema_info_roundtrip ... ok [INFO] [stdout] test cache::schema::tests::test_schema_version ... ok [INFO] [stdout] test client::connection::tests::test_custom_socket_path ... ok [INFO] [stdout] test client::connection::tests::test_client_creation ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test daemon::protocol::tests::test_response_roundtrip ... ok [INFO] [stdout] test daemon::protocol::tests::test_build_request ... ok [INFO] [stdout] test daemon::protocol::tests::test_request_roundtrip ... ok [INFO] [stdout] test daemon::session::tests::test_session_completion ... ok [INFO] [stdout] test config::tests::test_parse_sample_config ... ok [INFO] [stdout] test daemon::session::tests::test_session_creation ... ok [INFO] [stdout] test daemon::state::tests::test_invalidate ... ok [INFO] [stdout] test daemon::session::tests::test_session_manager ... ok [INFO] [stdout] test daemon::server::tests::test_server_creation ... ok [INFO] [stdout] test cache::remote::client::tests::test_client_id_generation ... ok [INFO] [stdout] test daemon::state::tests::test_daemon_state_creation ... ok [INFO] [stdout] test daemon::watcher::tests::test_watcher_creation ... ok [INFO] [stdout] test executor::depfile::tests::test_escaped_spaces ... ok [INFO] [stdout] test daemon::watcher::tests::test_watched_count ... ok [INFO] [stdout] test executor::depfile::tests::test_multiline_depfile ... ok [INFO] [stdout] test executor::depfile::tests::test_simple_depfile ... ok [INFO] [stdout] test graph::tests::test_topo_order ... ok [INFO] [stdout] test graph::tests::test_cycle_detection ... ok [INFO] [stdout] test metrics::prometheus::tests::test_prometheus_export ... ok [INFO] [stdout] test graph::tests::test_simple_graph ... ok [INFO] [stdout] test parser::lexer::tests::test_escaped_dollar ... ok [INFO] [stdout] test parser::lexer::tests::test_simple_lines ... ok [INFO] [stdout] test output::tests::test_format_duration ... ok [INFO] [stdout] test parser::lexer::tests::test_line_continuation ... ok [INFO] [stdout] test parser::tests::test_parse_build ... ok [INFO] [stdout] test parser::tests::test_parse_pool ... ok [INFO] [stdout] test parser::lexer::tests::test_peek ... ok [INFO] [stdout] test buildlog::tests::test_mtime_cache ... ok [INFO] [stdout] test parser::tests::test_parse_simple_rule ... ok [INFO] [stdout] test cache::blob::tests::test_store_and_restore ... ok [INFO] [stdout] test parser::tests::test_parse_variables ... ok [INFO] [stdout] test server::auth::tests::test_auth_not_required ... ok [INFO] [stdout] test trace::tests::test_slow_targets ... ok [INFO] [stdout] test server::auth::tests::test_valid_token ... ok [INFO] [stdout] test cache::hasher::tests::test_action_key_deterministic ... ok [INFO] [stdout] test server::auth::tests::test_invalid_token ... ok [INFO] [stdout] test server::auth::tests::test_no_token ... ok [INFO] [stdout] test server::config::tests::test_parse_size ... ok [INFO] [stdout] test parser::tests::test_parse_default ... ok [INFO] [stdout] test trace::tests::test_trace_collection ... ok [INFO] [stdout] test server::config::tests::test_default_config ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- server::config::tests::test_default_config stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'server::config::tests::test_default_config' (75) panicked at src/server/config.rs:163:9: [INFO] [stdout] assertion failed: config.auth.require_auth [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5f12deb94b6a - std[e72de78501789eb0]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5f12deb94b6a - std[e72de78501789eb0]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5f12deb94b6a - std[e72de78501789eb0]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x5f12deb94b6a - <::print::DisplayBacktrace as core[6aaeda2c7ad07a48]::fmt::Display>::fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x5f12debaa96a - ::fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x5f12debaa96a - core[6aaeda2c7ad07a48]::fmt::write [INFO] [stdout] 6: 0x5f12deb99d82 - std[e72de78501789eb0]::io::default_write_fmt::> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5f12deb99d82 - as std[e72de78501789eb0]::io::Write>::write_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x5f12deb7136f - ::print [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x5f12deb7136f - std[e72de78501789eb0]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x5f12deb8bed9 - std[e72de78501789eb0]::panicking::default_hook [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x5f12dea4927c - core[6aaeda2c7ad07a48]::ops::function::Fn<(&'a std[e72de78501789eb0]::panic::PanicHookInfo<'b>,), Output = ()> + core[6aaeda2c7ad07a48]::marker::Sync + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::Fn<(&std[e72de78501789eb0]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x5f12dea4927c - test[4f12b380f1fb68c5]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5f12deb8c092 - core[6aaeda2c7ad07a48]::ops::function::Fn<(&'a std[e72de78501789eb0]::panic::PanicHookInfo<'b>,), Output = ()> + core[6aaeda2c7ad07a48]::marker::Sync + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::Fn<(&std[e72de78501789eb0]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x5f12deb8c092 - std[e72de78501789eb0]::panicking::panic_with_hook [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x5f12deb7145a - std[e72de78501789eb0]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x5f12deb68579 - std[e72de78501789eb0]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x5f12deb722bd - __rustc[78a4cf188af856fc]::rust_begin_unwind [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x5f12debab15c - core[6aaeda2c7ad07a48]::panicking::panic_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5f12debab122 - core[6aaeda2c7ad07a48]::panicking::panic [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x5f12de89f4a7 - rninja[d57721eec56e199c]::server::config::tests::test_default_config [INFO] [stdout] at /opt/rustwide/workdir/src/server/config.rs:163:9 [INFO] [stdout] 21: 0x5f12de89ac57 - rninja[d57721eec56e199c]::server::config::tests::test_default_config::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/server/config.rs:160:29 [INFO] [stdout] 22: 0x5f12de8d1986 - >::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5f12dea3d35b - core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x5f12dea3d35b - test[4f12b380f1fb68c5]::__rust_begin_short_backtrace::, fn() -> core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x5f12dea49d4b - test[4f12b380f1fb68c5]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x5f12dea49d4b - as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 27: 0x5f12dea49d4b - std[e72de78501789eb0]::panicking::catch_unwind::do_call::, core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x5f12dea49d4b - std[e72de78501789eb0]::panicking::catch_unwind::, core[6aaeda2c7ad07a48]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x5f12dea49d4b - std[e72de78501789eb0]::panic::catch_unwind::, core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5f12dea49d4b - test[4f12b380f1fb68c5]::run_test_in_process [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x5f12dea49d4b - test[4f12b380f1fb68c5]::run_test::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x5f12dea45464 - test[4f12b380f1fb68c5]::run_test::{closure#1} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x5f12dea45464 - std[e72de78501789eb0]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x5f12dea4c952 - std[e72de78501789eb0]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x5f12dea4c952 - ::{closure#1}::{closure#0}> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 36: 0x5f12dea4c952 - std[e72de78501789eb0]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x5f12dea4c952 - std[e72de78501789eb0]::panicking::catch_unwind::<(), core[6aaeda2c7ad07a48]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x5f12dea4c952 - std[e72de78501789eb0]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5f12dea4c952 - std[e72de78501789eb0]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x5f12dea4c952 - ::{closure#1} as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x5f12deb93f2f - + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x5f12deb93f2f - ::new::thread_start [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x786e26f28aa4 - [INFO] [stdout] 44: 0x786e26fb5a64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] server::config::tests::test_default_config [INFO] [stdout] [INFO] [stdout] test result: FAILED. 59 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "c2455ff6a3e67b64e5d205a05e444625416fe1f7f451d22a40f75818b36b01ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2455ff6a3e67b64e5d205a05e444625416fe1f7f451d22a40f75818b36b01ed", kill_on_drop: false }` [INFO] [stdout] c2455ff6a3e67b64e5d205a05e444625416fe1f7f451d22a40f75818b36b01ed