[INFO] cloning repository https://github.com/deqiying/arborgrep
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/deqiying/arborgrep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeqiying%2Farborgrep", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeqiying%2Farborgrep'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 376f7e58b3ba7bd9d83809a3c1f0e7ac1c417f7e
[INFO] checking deqiying/arborgrep against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeqiying%2Farborgrep" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/deqiying/arborgrep
[INFO] finished tweaking git repo https://github.com/deqiying/arborgrep
[INFO] tweaked toml for git repo https://github.com/deqiying/arborgrep written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/deqiying/arborgrep on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/deqiying/arborgrep 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded inotify v0.11.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207
[INFO] running `Command { std: "docker" "start" "7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.56
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking zerocopy v0.8.56
[INFO] [stderr]     Checking globset v0.4.20
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking ignore v0.4.33
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking proptest v1.11.0
[INFO] [stderr]     Checking arborgrep v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AssertUnwindSafe`, `BufReader`, `Cursor`, `Write`, `catch_unwind`, `collections::HashSet`, and `resume_unwind`
[INFO] [stdout]  --> src/daemon.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     collections::HashSet,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     ffi::OsStr,
[INFO] [stdout] 6 |     io::{self, BufReader, Cursor, Write},
[INFO] [stdout]   |                ^^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 7 |     panic::{AssertUnwindSafe, catch_unwind, resume_unwind},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinSet`, `mpsc`, `oneshot`, `runtime::Builder`, `self`, `self`, and `timeout`
[INFO] [stdout]   --> src/daemon.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     runtime::Builder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     sync::{Notify, Semaphore, mpsc, oneshot},
[INFO] [stdout]    |                               ^^^^  ^^^^^^^
[INFO] [stdout] 20 |     task::{self, JoinSet},
[INFO] [stdout]    |            ^^^^  ^^^^^^^
[INFO] [stdout] 21 |     time::{self, timeout},
[INFO] [stdout]    |            ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcquireResult`, `BuildTicket`, `Cancellation`, `ControlRequest`, `ControlResponse`, `ExecutionStatus`, `HandshakeIncompatibleCode`, `HandshakeResponse`, `Platform`, `RejectionCode`, `RootIdentityError`, `RootLease`, `SnapshotBuildHandle`, `SnapshotProofError`, `WatchBinding`, `WatchEpoch`, `WatcherInvalidation`, `WatcherStartError`, `search::PreparedSearch`, `self`, `self`, `transport`, `validate_snapshot_build_root`, and `validate_snapshot_freshness`
[INFO] [stdout]   --> src/daemon.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     execution::{self, Cancellation, CancellationToken, ExecutionStatus},
[INFO] [stdout]    |                 ^^^^  ^^^^^^^^^^^^                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     file_tree::{
[INFO] [stdout] 27 |         self, Phase3CandidateSnapshot, SnapshotBuildHandle, SnapshotProofError,
[INFO] [stdout]    |         ^^^^                           ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |         validate_snapshot_build_root, validate_snapshot_freshness,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |         self, CacheStatus, ControlRequest, ControlResponse, DaemonState, DaemonStatus,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |         EndpointMode, ExecutionMode, HandshakeIncompatibleCode, HandshakeResponse,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |         InvalidationReason, Platform, RejectionCode, RootState, RootStatus, StatusSnapshot,
[INFO] [stdout]    |                             ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |         AcquireResult, BuildTicket, RegistryState, RootIdentityError, RootLease, RootRegistry,
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ^^^^^^^^^^^                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     search::PreparedSearch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     transport,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 42 |     watcher::{
[INFO] [stdout] 43 |         WatchBinding, WatchEpoch, WatcherInvalidation, WatcherInvalidationReason,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |         WatcherStartError, WatcherSupervisor, WatcherUncertaintyReason,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `Instant`, `PathBuf`, and `Stdio`
[INFO] [stdout]   --> src/daemon_client.rs:8:18
[INFO] [stdout]    |
[INFO] [stdout]  8 |     path::{Path, PathBuf},
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout]  9 |     process::{Command, Stdio},
[INFO] [stdout]    |               ^^^^^^^  ^^^^^
[INFO] [stdout] 10 |     time::{Duration, Instant},
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transport`
[INFO] [stdout]   --> src/daemon_client.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     transport,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/watcher.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 |             .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 146 -             .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
[INFO] [stdout] 146 +             .try_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::AsyncReadExt`
[INFO] [stdout]   --> src/daemon.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::AsyncReadExt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/watcher.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn stop(mut self, reason: WatcherInvalidationReason) {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binding`
[INFO] [stdout]    --> src/watcher.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let binding = WatchBinding::new(Arc::clone(&state));
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binding`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NAMESPACE` is never used
[INFO] [stdout]   --> src/daemon.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const NAMESPACE: &str = "arborgrep-v1";
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONNECTION_IDLE_TIMEOUT` is never used
[INFO] [stdout]   --> src/daemon.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const CONNECTION_IDLE_TIMEOUT: Duration = Duration::from_secs(60);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_IDLE_TIMEOUT` is never used
[INFO] [stdout]   --> src/daemon.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const DEFAULT_IDLE_TIMEOUT: Duration = Duration::from_secs(600);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHUTDOWN_GRACE` is never used
[INFO] [stdout]   --> src/daemon.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const SHUTDOWN_GRACE: Duration = Duration::from_secs(2);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEALTH_CONNECT_TIMEOUT` is never used
[INFO] [stdout]   --> src/daemon.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const HEALTH_CONNECT_TIMEOUT: Duration = Duration::from_millis(250);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESPONSE_EVENT_CAPACITY` is never used
[INFO] [stdout]   --> src/daemon.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const RESPONSE_EVENT_CAPACITY: usize = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ADMISSION_POLL_INTERVAL` is never used
[INFO] [stdout]   --> src/daemon.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 | const ADMISSION_POLL_INTERVAL: Duration = Duration::from_millis(10);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONNECTION_STATE_POLL_INTERVAL` is never used
[INFO] [stdout]   --> src/daemon.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 | const CONNECTION_STATE_POLL_INTERVAL: Duration = Duration::from_millis(50);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTPUT_FRAME_WRITE_TIMEOUT` is never used
[INFO] [stdout]   --> src/daemon.rs:60:7
[INFO] [stdout]    |
[INFO] [stdout] 60 | const OUTPUT_FRAME_WRITE_TIMEOUT: Duration = Duration::from_secs(2);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handshake_timeout` is never used
[INFO] [stdout]   --> src/daemon.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn handshake_timeout() -> Duration {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snapshot_test_enabled` is never used
[INFO] [stdout]   --> src/daemon.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn snapshot_test_enabled() -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `State` is never constructed
[INFO] [stdout]   --> src/daemon.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct State {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheObservation` is never constructed
[INFO] [stdout]    --> src/daemon.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | struct CacheObservation {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchedSnapshot` is never constructed
[INFO] [stdout]    --> src/daemon.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct WatchedSnapshot {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/daemon.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl State {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 139 |     fn worker_concurrency() -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn register_cancellation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn cancel_all(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn status(&self) -> StatusSnapshot {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn record_accepted_mode(&self, mode: ExecutionMode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn record_snapshot_installed(&self, snapshot: &Phase3CandidateSnapshot) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     fn record_snapshot_stale(&self, reason: StaleReason) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     fn record_snapshot_transition(&self, transitioned: bool, reason: StaleReason) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     fn record_snapshot_reason(&self, reason: StaleReason) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn observe_watcher_binding(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn invalidate_replaced_watched_root(&self, current: &crate::root_registry::RootIdentity) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     fn stop_superseded_watcher(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn inject_watcher_fault(&self, stage: &str, generation: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     fn should_inject_worker_panic(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `protocol_invalidation_reason` is never used
[INFO] [stdout]    --> src/daemon.rs:392:4
[INFO] [stdout]     |
[INFO] [stdout] 392 | fn protocol_invalidation_reason(reason: StaleReason) -> InvalidationReason {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_test_watcher_reason` is never used
[INFO] [stdout]    --> src/daemon.rs:418:4
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn parse_test_watcher_reason(value: &str) -> Option<WatcherInvalidationReason> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CancellationRegistration` is never constructed
[INFO] [stdout]    --> src/daemon.rs:480:8
[INFO] [stdout]     |
[INFO] [stdout] 480 | struct CancellationRegistration {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_timeout` is never used
[INFO] [stdout]    --> src/daemon.rs:537:4
[INFO] [stdout]     |
[INFO] [stdout] 537 | fn test_timeout() -> Duration {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `idle_timeout` is never used
[INFO] [stdout]     --> src/daemon.rs:2729:4
[INFO] [stdout]      |
[INFO] [stdout] 2729 | fn idle_timeout() -> Duration {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cancel` is never used
[INFO] [stdout]   --> src/execution.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl CancellationToken {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] 80 |     pub(crate) fn cancel(&self) {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_single_directory_operand` and `single_directory_absolute_path` are never used
[INFO] [stdout]    --> src/execution.rs:168:19
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl SourcePlan<FreshSourceSpec> {
[INFO] [stdout]     | -------------------------------- methods in this implementation
[INFO] [stdout] 167 |     /// daemon admission 所需的精确 source 形状：无 stdin，恰好一个目录 operand。
[INFO] [stdout] 168 |     pub(crate) fn is_single_directory_operand(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub(crate) fn single_directory_absolute_path(&self, cwd: &Path) -> Option<PathBuf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snapshot_identity_and_key` is never used
[INFO] [stdout]    --> src/execution.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub(crate) fn snapshot_identity_and_key(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Snapshot` is never constructed
[INFO] [stdout]    --> src/execution.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub(crate) enum CandidateSource {
[INFO] [stdout]     |                 --------------- variant in this enum
[INFO] [stdout] 269 |     Fresh(CandidateStream),
[INFO] [stdout] 270 |     Snapshot(SnapshotCandidateStream),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `materialize_sources_with_snapshot_build` is never used
[INFO] [stdout]    --> src/execution.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub(crate) fn materialize_sources_with_snapshot_build(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `materialize_snapshot_sources` is never used
[INFO] [stdout]    --> src/execution.rs:431:15
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub(crate) fn materialize_snapshot_sources(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `finish` are never used
[INFO] [stdout]    --> src/file_tree.rs:46:19
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl SnapshotBuildHandle {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout]  46 |     pub(crate) fn new(identity: RootIdentity, key: TraversalKey, generation: u64) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub(crate) fn finish(
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_snapshot_build_root` is never used
[INFO] [stdout]    --> src/file_tree.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub(crate) fn validate_snapshot_build_root(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_snapshot_freshness` is never used
[INFO] [stdout]    --> src/file_tree.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(crate) fn validate_snapshot_freshness(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_root_identity` is never used
[INFO] [stdout]    --> src/file_tree.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn validate_root_identity(identity: &RootIdentity) -> Result<(), SnapshotProofError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_local_apfs` is never used
[INFO] [stdout]    --> src/file_tree.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn validate_local_apfs(_path: &Path) -> Result<(), SnapshotProofError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snapshot_candidates` is never used
[INFO] [stdout]    --> src/file_tree.rs:453:15
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub(crate) fn snapshot_candidates(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CANDIDATES` is never used
[INFO] [stdout]   --> src/file_tree/snapshot.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) const MAX_CANDIDATES: usize = 1_000_000;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DIRECTORY_STAMPS` is never used
[INFO] [stdout]   --> src/file_tree/snapshot.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) const MAX_DIRECTORY_STAMPS: usize = 1_000_000;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACCOUNTED_BYTES` is never used
[INFO] [stdout]   --> src/file_tree/snapshot.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) const MAX_ACCOUNTED_BYTES: usize = 256 * 1024 * 1024;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnapshotBuildOutcome` is never constructed
[INFO] [stdout]    --> src/file_tree/snapshot.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) struct SnapshotBuildOutcome {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_installable` is never used
[INFO] [stdout]    --> src/file_tree/snapshot.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl SnapshotBuildOutcome {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 130 |     pub(crate) fn is_installable(self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IncompleteBuild` is never constructed
[INFO] [stdout]    --> src/file_tree/snapshot.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) enum SnapshotBuildError {
[INFO] [stdout]     |                 ------------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 148 |     IncompleteBuild,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SnapshotBuildError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SnapshotProofError` is never used
[INFO] [stdout]    --> src/file_tree/snapshot.rs:182:17
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub(crate) enum SnapshotProofError {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_snapshot_evidence` is never used
[INFO] [stdout]    --> src/file_tree/snapshot.rs:292:15
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub(crate) fn validate_snapshot_evidence<R, K>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root_identity`, `traversal_key`, and `generation` are never read
[INFO] [stdout]    --> src/file_tree/snapshot.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub(crate) struct SnapshotBuilder<R, K> {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] 389 |     root_identity: R,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 390 |     traversal_key: K,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 391 |     generation: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `finish`, and `with_limits` are never used
[INFO] [stdout]    --> src/file_tree/snapshot.rs:410:19
[INFO] [stdout]     |
[INFO] [stdout] 409 | impl<R, K> SnapshotBuilder<R, K> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 410 |     pub(crate) fn new(root_identity: R, traversal_key: K, generation: u64) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     pub(crate) fn finish(
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn with_limits(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_resource_limit` is never used
[INFO] [stdout]   --> src/search.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl SearchError {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub(crate) fn is_resource_limit(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compile_for_daemon` is never used
[INFO] [stdout]    --> src/search.rs:231:19
[INFO] [stdout]     |
[INFO] [stdout] 224 | impl PreparedSearch {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub(crate) fn compile_for_daemon(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INITIAL_WATCH_EPOCH` is never used
[INFO] [stdout]   --> src/watcher.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const INITIAL_WATCH_EPOCH: u64 = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WatcherChangeKind` is never used
[INFO] [stdout]   --> src/watcher.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) enum WatcherChangeKind {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WatcherUncertaintyReason` is never used
[INFO] [stdout]   --> src/watcher.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) enum WatcherUncertaintyReason {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WatcherInvalidationReason` is never used
[INFO] [stdout]   --> src/watcher.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) enum WatcherInvalidationReason {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatcherInvalidation` is never constructed
[INFO] [stdout]   --> src/watcher.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub(crate) struct WatcherInvalidation {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchEpoch` is never constructed
[INFO] [stdout]   --> src/watcher.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) struct WatchEpoch {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `value` is never used
[INFO] [stdout]   --> src/watcher.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl WatchEpoch {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 85 |     pub(crate) fn value(self) -> u64 {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InvalidationCallback` is never used
[INFO] [stdout]   --> src/watcher.rs:90:6
[INFO] [stdout]    |
[INFO] [stdout] 90 | type InvalidationCallback = dyn Fn(WatcherInvalidation) + Send + Sync + 'static;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BindingState` is never constructed
[INFO] [stdout]   --> src/watcher.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct BindingState {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `invalidate_if_active`, `stop`, `record_invalidation`, and `bump_epoch` are never used
[INFO] [stdout]    --> src/watcher.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl BindingState {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 102 |     fn new(generation: u64, epoch: Arc<AtomicU64>, callback: Arc<InvalidationCallback>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn invalidate_if_active(&self, reason: WatcherInvalidationReason) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn stop(&self, reason: WatcherInvalidationReason) -> bool {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn record_invalidation(&self, reason: WatcherInvalidationReason) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn bump_epoch(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchBinding` is never constructed
[INFO] [stdout]    --> src/watcher.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub(crate) struct WatchBinding {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/watcher.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl WatchBinding {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 175 |     fn new(state: Arc<BindingState>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub(crate) fn generation(&self) -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub(crate) fn capture_epoch(&self) -> WatchEpoch {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub(crate) fn unchanged(&self, captured: WatchEpoch) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub(crate) fn current_epoch(&self) -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub(crate) fn is_invalidated(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub(crate) fn last_invalidation(&self) -> Option<WatcherInvalidation> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WatcherStartError` is never used
[INFO] [stdout]    --> src/watcher.rs:228:17
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub(crate) enum WatcherStartError {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActiveWatch` is never constructed
[INFO] [stdout]    --> src/watcher.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | struct ActiveWatch {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/watcher.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 260 | impl ActiveWatch {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 261 |     fn stop(mut self, reason: WatcherInvalidationReason) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatcherSupervisor` is never constructed
[INFO] [stdout]    --> src/watcher.rs:288:19
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub(crate) struct WatcherSupervisor {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `current_binding`, `stop`, `inject_current`, and `shutdown` are never used
[INFO] [stdout]    --> src/watcher.rs:301:19
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl WatcherSupervisor {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 301 |     pub(crate) fn new() -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub(crate) fn start<F>(
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub(crate) fn current_binding(&self, generation: u64) -> Option<WatchBinding> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub(crate) fn stop(&self, generation: u64) -> bool {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub(crate) fn inject_current(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub(crate) fn shutdown(&self) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_unpoisoned` is never used
[INFO] [stdout]    --> src/watcher.rs:710:4
[INFO] [stdout]     |
[INFO] [stdout] 710 | fn lock_unpoisoned<T>(mutex: &Mutex<T>) -> MutexGuard<'_, T> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssertUnwindSafe`, `BufReader`, `Cursor`, `Write`, `catch_unwind`, `collections::HashSet`, and `resume_unwind`
[INFO] [stdout]  --> src/daemon.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     collections::HashSet,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     ffi::OsStr,
[INFO] [stdout] 6 |     io::{self, BufReader, Cursor, Write},
[INFO] [stdout]   |                ^^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 7 |     panic::{AssertUnwindSafe, catch_unwind, resume_unwind},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinSet`, `mpsc`, `oneshot`, `runtime::Builder`, `self`, and `self`
[INFO] [stdout]   --> src/daemon.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     runtime::Builder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     sync::{Notify, Semaphore, mpsc, oneshot},
[INFO] [stdout]    |                               ^^^^  ^^^^^^^
[INFO] [stdout] 20 |     task::{self, JoinSet},
[INFO] [stdout]    |            ^^^^  ^^^^^^^
[INFO] [stdout] 21 |     time::{self, timeout},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcquireResult`, `BuildTicket`, `ControlRequest`, `ControlResponse`, `HandshakeIncompatibleCode`, `HandshakeResponse`, `Platform`, `RejectionCode`, `RootIdentityError`, `RootLease`, `SnapshotBuildHandle`, `SnapshotProofError`, `WatchBinding`, `WatchEpoch`, `WatcherInvalidation`, `WatcherStartError`, `search::PreparedSearch`, `transport`, `validate_snapshot_build_root`, and `validate_snapshot_freshness`
[INFO] [stdout]   --> src/daemon.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |         self, Phase3CandidateSnapshot, SnapshotBuildHandle, SnapshotProofError,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |         validate_snapshot_build_root, validate_snapshot_freshness,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |         self, CacheStatus, ControlRequest, ControlResponse, DaemonState, DaemonStatus,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |         EndpointMode, ExecutionMode, HandshakeIncompatibleCode, HandshakeResponse,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |         InvalidationReason, Platform, RejectionCode, RootState, RootStatus, StatusSnapshot,
[INFO] [stdout]    |                             ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |         AcquireResult, BuildTicket, RegistryState, RootIdentityError, RootLease, RootRegistry,
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ^^^^^^^^^^^                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     search::PreparedSearch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     transport,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 42 |     watcher::{
[INFO] [stdout] 43 |         WatchBinding, WatchEpoch, WatcherInvalidation, WatcherInvalidationReason,
[INFO] [stdout]    |         ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |         WatcherStartError, WatcherSupervisor, WatcherUncertaintyReason,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::AsyncWriteExt`
[INFO] [stdout]     --> src/daemon.rs:2745:9
[INFO] [stdout]      |
[INFO] [stdout] 2745 |         io::AsyncWriteExt,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `Instant`, `PathBuf`, and `Stdio`
[INFO] [stdout]   --> src/daemon_client.rs:8:18
[INFO] [stdout]    |
[INFO] [stdout]  8 |     path::{Path, PathBuf},
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout]  9 |     process::{Command, Stdio},
[INFO] [stdout]    |               ^^^^^^^  ^^^^^
[INFO] [stdout] 10 |     time::{Duration, Instant},
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transport`
[INFO] [stdout]   --> src/daemon_client.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     transport,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionContext`, `TerminalFacts`, `inspect_sources`, and `snapshot_identity_and_key`
[INFO] [stdout]    --> src/file_tree.rs:762:21
[INFO] [stdout]     |
[INFO] [stdout] 762 |         execution::{ExecutionContext, TerminalFacts, inspect_sources, snapshot_identity_and_key},
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `snapshot_profile_eligible` in this scope
[INFO] [stdout]     --> src/daemon.rs:2825:18
[INFO] [stdout]      |
[INFO] [stdout] 2825 |         assert!(!snapshot_profile_eligible(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `snapshot_profile_eligible` in this scope
[INFO] [stdout]     --> src/daemon.rs:2831:17
[INFO] [stdout]      |
[INFO] [stdout] 2831 |         assert!(snapshot_profile_eligible(
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `snapshot_profile_eligible` in this scope
[INFO] [stdout]     --> src/daemon.rs:2839:18
[INFO] [stdout]      |
[INFO] [stdout] 2839 |         assert!(!snapshot_profile_eligible(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `snapshot_build_failure` in this scope
[INFO] [stdout]     --> src/daemon.rs:2854:17
[INFO] [stdout]      |
[INFO] [stdout] 2854 |                 snapshot_build_failure(&error, ExecutionStatus::Error),
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `prepare_execution` in this scope
[INFO] [stdout]     --> src/daemon.rs:2896:30
[INFO] [stdout]      |
[INFO] [stdout] 2896 |         let prepared = match prepare_execution(&state, request, &CancellationToken::default(), true)
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `abort_snapshot_work_after_panic` in this scope
[INFO] [stdout]     --> src/daemon.rs:2903:9
[INFO] [stdout]      |
[INFO] [stdout] 2903 |         abort_snapshot_work_after_panic(&state, prepared.snapshot_work);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/watcher.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 |             .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 146 -             .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
[INFO] [stdout] 146 +             .try_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::AsyncReadExt`
[INFO] [stdout]   --> src/daemon.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::AsyncReadExt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cancellation`
[INFO] [stdout]   --> src/daemon.rs:25:23
[INFO] [stdout]    |
[INFO] [stdout] 25 |     execution::{self, Cancellation, CancellationToken, ExecutionStatus},
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/watcher.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn stop(mut self, reason: WatcherInvalidationReason) {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binding`
[INFO] [stdout]    --> src/watcher.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let binding = WatchBinding::new(Arc::clone(&state));
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binding`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `arborgrep` (lib test) due to 6 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207", kill_on_drop: false }`
[INFO] [stdout] 7e5fb2f3c97b982c8dcc8fd0dfac20377a16ca37e50e6f3bd25bc9c465e59207
