these 14 derivations will be built: /nix/store/2agbg6nnbr2jsnf7c5fp0pchqh3gyfkf-toml-1.1.4+spec-1.1.0.drv /nix/store/32xg7xwk10nm6g85lfjsfz7xr05473g4-anyhow-1.0.104.drv /nix/store/3n9knirxags9wfba29hjp0mg4hi53agq-toml_parser-1.1.3+spec-1.1.0.drv /nix/store/6117cr4bpifhidxvhr5mq1ng78vj0xc0-toml_edit-0.25.13+spec-1.1.0.drv /nix/store/s1wc5c3ii1czsp1sar1i3p9cpjjqkbfp-toml_writer-1.1.2+spec-1.1.0.drv /nix/store/89f3wmwd9kvg7km11d0vczbvkf6zj8bn-cargo-vendor-dir.drv /nix/store/mavgqqyly11cmrrr2dl9kqjdh5f06bbg-crane-utils-0.0.1.drv /nix/store/5xkbrfv319br40l9i3g1mpxcmcxg80qj-Cargo.toml.drv /nix/store/5xrapisl1f9lsww0rczqpc0mayqzl425-Cargo.toml.drv /nix/store/s67s6fl2pw1z754rvnnyrm92a3dgphnc-Cargo.toml.drv /nix/store/vdbrhrxr6c44s1r6rf9pzwxvpyh6m82r-Cargo.toml.drv /nix/store/h8kfjlpzdh6xkc7f9xy0paay1cdc76jb-source.drv /nix/store/vg81kszxd84pc3zbs5c3amzixn5arwrs-herdr-eternal-deps-0.1.0.drv /nix/store/323hwvxzw0g2s5a6gb2fqg61wd12d2qi-herdr-eternal-clippy-0.1.0.drv these 6 paths will be fetched (742.2 KiB download, 4.3 MiB unpacked): /nix/store/khx2lzms876gcrb6qhq81cy6avxzk4bv-crate-toml-1.1.4+spec-1.1.0.tar.gz /nix/store/bcg5x9c0zs05ypcnnipvq154cj0jcc5y-serde-1.0.229 /nix/store/k71k9hl5lds8rkw2f6h6wh929ykdzf1n-serde_core-1.0.229 /nix/store/js00izz0sswx5pr87fwahzq6lgss984y-serde_derive-1.0.229 /nix/store/g147hh5dn8932f6cpyvd3500cxdk06ax-serde_json-1.0.151 /nix/store/hgp8553ign7zn1bac5j86jq9i9gqjf5x-syn-3.0.3 building '/nix/store/6117cr4bpifhidxvhr5mq1ng78vj0xc0-toml_edit-0.25.13+spec-1.1.0.drv' building '/nix/store/3n9knirxags9wfba29hjp0mg4hi53agq-toml_parser-1.1.3+spec-1.1.0.drv' building '/nix/store/s1wc5c3ii1czsp1sar1i3p9cpjjqkbfp-toml_writer-1.1.2+spec-1.1.0.drv' building '/nix/store/2agbg6nnbr2jsnf7c5fp0pchqh3gyfkf-toml-1.1.4+spec-1.1.0.drv' toml_edit-0.25.13+spec-1.1.0> tribuchet: building on mac02 toml_parser-1.1.3+spec-1.1.0> tribuchet: building on mac02 toml_writer-1.1.2+spec-1.1.0> tribuchet: building on mac02 toml-1.1.4+spec-1.1.0> tribuchet: building on mac02 building '/nix/store/323hwvxzw0g2s5a6gb2fqg61wd12d2qi-herdr-eternal-clippy-0.1.0.drv' herdr-eternal-clippy-0.1.0> tribuchet: building on mac02 herdr-eternal-clippy-0.1.0> Running phase: unpackPhase herdr-eternal-clippy-0.1.0> unpacking source archive /nix/store/2fsy4dsayp8khhhdxl0k6g4s5fqjmyx2-source herdr-eternal-clippy-0.1.0> source root is source herdr-eternal-clippy-0.1.0> Running phase: patchPhase herdr-eternal-clippy-0.1.0> Executing configureCargoCommonVars herdr-eternal-clippy-0.1.0> decompressing cargo artifacts from /nix/store/k9r2zxy75zfyg1nd23aalagwi2v7cxdz-herdr-eternal-deps-0.1.0/target.tar.zst to target herdr-eternal-clippy-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase herdr-eternal-clippy-0.1.0> Running phase: configurePhase herdr-eternal-clippy-0.1.0> will append /private/var/tb/8/scratch/da5f495af66897ff/build/source/.cargo-home/config.toml with contents of /nix/store/ffivyks9shaqy3j6mnhzc3zc22xcn3wj-vendor-cargo-deps/config.toml herdr-eternal-clippy-0.1.0> default configurePhase, nothing to do herdr-eternal-clippy-0.1.0> Running phase: buildPhase herdr-eternal-clippy-0.1.0> +++ command cargo --version herdr-eternal-clippy-0.1.0> cargo 1.97.0 (c980f4866 2026-06-30) herdr-eternal-clippy-0.1.0> +++ command cargo clippy --release --locked --all-targets -- -D warnings herdr-eternal-clippy-0.1.0> Checking herdr-eternal-proto v0.1.0 (/private/var/tb/8/scratch/da5f495af66897ff/build/source/proto) herdr-eternal-clippy-0.1.0> Checking herdr-eternal-server v0.1.0 (/private/var/tb/8/scratch/da5f495af66897ff/build/source/server) herdr-eternal-clippy-0.1.0> Checking herdr-eternal-ssh v0.1.0 (/private/var/tb/8/scratch/da5f495af66897ff/build/source/client) herdr-eternal-clippy-0.1.0> error: this `if` statement can be collapsed herdr-eternal-clippy-0.1.0> --> client/src/lib.rs:250:17 herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 250 | / if agent_channel.is_none() { herdr-eternal-clippy-0.1.0> 251 | | if let (Some(socket), Some(token)) = (&target.agent_socket, &resume_token) { herdr-eternal-clippy-0.1.0> 252 | | agent_channel = Some(AbortOnDrop(tokio::spawn(agent::forward_agent( herdr-eternal-clippy-0.1.0> 253 | | target.clone(), herdr-eternal-clippy-0.1.0> ... | herdr-eternal-clippy-0.1.0> 258 | | } herdr-eternal-clippy-0.1.0> | |_________________^ herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if herdr-eternal-clippy-0.1.0> = note: `-D clippy::collapsible-if` implied by `-D warnings` herdr-eternal-clippy-0.1.0> = help: to override `-D warnings` add `#[allow(clippy::collapsible_if)]` herdr-eternal-clippy-0.1.0> help: collapse nested if block herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 250 ~ if agent_channel.is_none() herdr-eternal-clippy-0.1.0> 251 ~ && let (Some(socket), Some(token)) = (&target.agent_socket, &resume_token) { herdr-eternal-clippy-0.1.0> 252 | agent_channel = Some(AbortOnDrop(tokio::spawn(agent::forward_agent( herdr-eternal-clippy-0.1.0> ... herdr-eternal-clippy-0.1.0> 256 | )))); herdr-eternal-clippy-0.1.0> 257 ~ } herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> herdr-eternal-clippy-0.1.0> error: could not compile `herdr-eternal-ssh` (lib) due to 1 previous error herdr-eternal-clippy-0.1.0> warning: build failed, waiting for other jobs to finish... herdr-eternal-clippy-0.1.0> error: this `if` statement can be collapsed herdr-eternal-clippy-0.1.0> --> server/src/auth.rs:69:9 herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 69 | / if let Some(static_token) = &self.static_token { herdr-eternal-clippy-0.1.0> 70 | | if constant_time_eq(static_token.as_bytes(), presented.as_bytes()) { herdr-eternal-clippy-0.1.0> 71 | | return Ok(()); herdr-eternal-clippy-0.1.0> 72 | | } herdr-eternal-clippy-0.1.0> 73 | | } herdr-eternal-clippy-0.1.0> | |_________^ herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if herdr-eternal-clippy-0.1.0> = note: `-D clippy::collapsible-if` implied by `-D warnings` herdr-eternal-clippy-0.1.0> = help: to override `-D warnings` add `#[allow(clippy::collapsible_if)]` herdr-eternal-clippy-0.1.0> help: collapse nested if block herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 69 ~ if let Some(static_token) = &self.static_token herdr-eternal-clippy-0.1.0> 70 ~ && constant_time_eq(static_token.as_bytes(), presented.as_bytes()) { herdr-eternal-clippy-0.1.0> 71 | return Ok(()); herdr-eternal-clippy-0.1.0> 72 ~ } herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> herdr-eternal-clippy-0.1.0> error: this `if` statement can be collapsed herdr-eternal-clippy-0.1.0> --> server/src/auth.rs:157:9 herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 157 | / if let Some(client_id) = &claims.client_id { herdr-eternal-clippy-0.1.0> 158 | | if client_id != &self.config.client_id { herdr-eternal-clippy-0.1.0> 159 | | return Err(AuthError::WrongClient(client_id.clone())); herdr-eternal-clippy-0.1.0> 160 | | } herdr-eternal-clippy-0.1.0> 161 | | } herdr-eternal-clippy-0.1.0> | |_________^ herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if herdr-eternal-clippy-0.1.0> help: collapse nested if block herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 157 ~ if let Some(client_id) = &claims.client_id herdr-eternal-clippy-0.1.0> 158 ~ && client_id != &self.config.client_id { herdr-eternal-clippy-0.1.0> 159 | return Err(AuthError::WrongClient(client_id.clone())); herdr-eternal-clippy-0.1.0> 160 ~ } herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> herdr-eternal-clippy-0.1.0> error: this `if` statement can be collapsed herdr-eternal-clippy-0.1.0> --> server/src/lib.rs:854:17 herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 854 | / if exit_code.is_some() { herdr-eternal-clippy-0.1.0> 855 | | if let Some(child) = child.as_mut() { herdr-eternal-clippy-0.1.0> 856 | | child.wait().await.ok(); herdr-eternal-clippy-0.1.0> 857 | | } herdr-eternal-clippy-0.1.0> 858 | | } herdr-eternal-clippy-0.1.0> | |_________________^ herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if herdr-eternal-clippy-0.1.0> help: collapse nested if block herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 854 ~ if exit_code.is_some() herdr-eternal-clippy-0.1.0> 855 ~ && let Some(child) = child.as_mut() { herdr-eternal-clippy-0.1.0> 856 | child.wait().await.ok(); herdr-eternal-clippy-0.1.0> 857 ~ } herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> herdr-eternal-clippy-0.1.0> error: this `if` statement can be collapsed herdr-eternal-clippy-0.1.0> --> server/src/lib.rs:865:29 herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 865 | / ... if let Some(pipe) = stdin.as_mut() { herdr-eternal-clippy-0.1.0> 866 | | ... if pipe.write_all(&data).await.is_err() || pipe.flush().await.is_err() { herdr-eternal-clippy-0.1.0> 867 | | ... stdin = None; herdr-eternal-clippy-0.1.0> 868 | | ... } herdr-eternal-clippy-0.1.0> 869 | | ... } herdr-eternal-clippy-0.1.0> | |_______________________^ herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if herdr-eternal-clippy-0.1.0> help: collapse nested if block herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 865 ~ if let Some(pipe) = stdin.as_mut() herdr-eternal-clippy-0.1.0> 866 ~ && (pipe.write_all(&data).await.is_err() || pipe.flush().await.is_err()) { herdr-eternal-clippy-0.1.0> 867 | stdin = None; herdr-eternal-clippy-0.1.0> 868 ~ } herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> herdr-eternal-clippy-0.1.0> error: this `if` statement can be collapsed herdr-eternal-clippy-0.1.0> --> server/src/lib.rs:888:25 herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 888 | / if let Some(pipe) = stdin.take() { herdr-eternal-clippy-0.1.0> 889 | | if let Ok(fd) = pipe.into_nonblocking_fd() { herdr-eternal-clippy-0.1.0> 890 | | fds.push(("stdin", fd)); herdr-eternal-clippy-0.1.0> 891 | | } herdr-eternal-clippy-0.1.0> 892 | | } herdr-eternal-clippy-0.1.0> | |_________________________^ herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if herdr-eternal-clippy-0.1.0> help: collapse nested if block herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 888 ~ if let Some(pipe) = stdin.take() herdr-eternal-clippy-0.1.0> 889 ~ && let Ok(fd) = pipe.into_nonblocking_fd() { herdr-eternal-clippy-0.1.0> 890 | fds.push(("stdin", fd)); herdr-eternal-clippy-0.1.0> 891 ~ } herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> herdr-eternal-clippy-0.1.0> error: this `if` statement can be collapsed herdr-eternal-clippy-0.1.0> --> server/src/lib.rs:934:9 herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 934 | / if let Some(code) = exit_code { herdr-eternal-clippy-0.1.0> 935 | | if !stdout_open && !stderr_open { herdr-eternal-clippy-0.1.0> 936 | | seq += 1; herdr-eternal-clippy-0.1.0> 937 | | log.push(proto::ChannelMessage::Exit { seq, code }); herdr-eternal-clippy-0.1.0> ... | herdr-eternal-clippy-0.1.0> 940 | | } herdr-eternal-clippy-0.1.0> | |_________^ herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if herdr-eternal-clippy-0.1.0> help: collapse nested if block herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> 934 ~ if let Some(code) = exit_code herdr-eternal-clippy-0.1.0> 935 ~ && !stdout_open && !stderr_open { herdr-eternal-clippy-0.1.0> 936 | seq += 1; herdr-eternal-clippy-0.1.0> 937 | log.push(proto::ChannelMessage::Exit { seq, code }); herdr-eternal-clippy-0.1.0> 938 | return; herdr-eternal-clippy-0.1.0> 939 ~ } herdr-eternal-clippy-0.1.0> | herdr-eternal-clippy-0.1.0> herdr-eternal-clippy-0.1.0> error: could not compile `herdr-eternal-server` (lib) due to 6 previous errors error: Cannot build '/nix/store/323hwvxzw0g2s5a6gb2fqg61wd12d2qi-herdr-eternal-clippy-0.1.0.drv'. Reason: builder failed with exit code 101. Output paths: /nix/store/nfljxy59b5qh0hcdnf5hscqxnnafq58w-herdr-eternal-clippy-0.1.0 Last 25 log lines: > | > > error: this `if` statement can be collapsed > --> server/src/lib.rs:934:9 > | > 934 | / if let Some(code) = exit_code { > 935 | | if !stdout_open && !stderr_open { > 936 | | seq += 1; > 937 | | log.push(proto::ChannelMessage::Exit { seq, code }); > ... | > 940 | | } > | |_________^ > | > = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if > help: collapse nested if block > | > 934 ~ if let Some(code) = exit_code > 935 ~ && !stdout_open && !stderr_open { > 936 | seq += 1; > 937 | log.push(proto::ChannelMessage::Exit { seq, code }); > 938 | return; > 939 ~ } > | > > error: could not compile `herdr-eternal-server` (lib) due to 6 previous errors For full logs, run: nix log /nix/store/323hwvxzw0g2s5a6gb2fqg61wd12d2qi-herdr-eternal-clippy-0.1.0.drv