these 52 derivations will be built: /nix/store/1b94lvgalvhm76q1v16qlk099gx074z5-cargo-package-zstd-safe-7.3.0.drv /nix/store/21li8pmhc8lnplc264jxb277gb7a5wsi-cargo-package-version_check-0.9.5.drv /nix/store/228v64cay73s6dibrv95sagbdp7g0l0z-cargo-package-unicode-ident-1.0.24.drv /nix/store/2hwi0y8g8ixydzxigil4vny569yd09rp-cargo-package-windows_i686_gnullvm-0.52.6.drv /nix/store/32y9bi5yga7f7xd0mcpc9r23j6wqczjm-cargo-package-walkdir-2.5.0.drv /nix/store/47yagsgv0xmbynhx91ssz8rnrxcv8xbb-cargo-package-windows-targets-0.52.6.drv /nix/store/jri07pn4jp0438ldlylir24cf1m728pi-cargo-vendor-dir.drv /nix/store/pv5n3s9pkpm5g03zxl5cxzx106z7cqfk-crane-utils-0.0.1.drv /nix/store/4cmxbmmn3vxq1v0hgfrcpgwhad3gpfcz-Cargo.toml.drv /nix/store/5cgyiknqgdsxd9aj57swzzycy7kzav2p-cargo-package-rustls-0.23.43.drv /nix/store/5qjkhq880c169f2d75lhgaswqzx6zsf2-cargo-package-winnow-0.7.15.drv /nix/store/6hci40yfkcn61dnl9pz0hd3ih4rpvg81-cargo-package-zerotrie-0.2.4.drv /nix/store/6mg0wlwycwy8p4njdw5z8csk164r84pp-cargo-package-want-0.3.1.drv /nix/store/wa7wwk726p6cyq22x97xy0c7vvg4c5jb-Cargo.toml.drv /nix/store/wlxyjzma5ij646lbib3215fvy7ix6ncj-Cargo.toml.drv /nix/store/wqddj4k20jnx9yivnzhsmhgpl3iqz625-Cargo.toml.drv /nix/store/mcm5b0frygc3isvh47g9sq07jls4ijg5-source.drv /nix/store/8gij7208f6kpw8ra36pyhcf677d51sic-cargo-package-zerofrom-0.1.8.drv /nix/store/8i5r24l530crqcdskmriz7g04kihn6nh-cargo-package-zerovec-derive-0.11.3.drv /nix/store/8vyaq4qb0plm37kzpgd6hfph765gp62w-cargo-package-wasm-bindgen-macro-support-0.2.126.drv /nix/store/995z6mr80pq1znnll8g17698wm1dd5qf-cargo-package-url-2.5.8.drv /nix/store/9ab9fdbvpayw4k8jabh24sy878sgm15n-cargo-package-utf-8-0.7.6.drv /nix/store/bw8wn7x6mmbqzkifhdzz8airnzyk08vn-cargo-package-wasm-bindgen-futures-0.4.76.drv /nix/store/cjylz8r2a92148z1vnz7ybxk42iz6ng0-cargo-package-tinystr-0.8.3.drv /nix/store/gb5yj7hgsrlhqbvax4bzp8hbas1p8558-cargo-package-zerocopy-0.8.55.drv /nix/store/jqjn31y8n0hpaqd6kkhm4m7k1da62pq2-cargo-package-valuable-0.1.1.drv /nix/store/k5y441syrsa02sggkjd52r13cc33389y-cargo-package-wasm-bindgen-0.2.126.drv /nix/store/ldnwdmm2zh7ab27jwpr21z47l5cafm31-cargo-package-utf8_iter-1.0.4.drv /nix/store/lm0093q7mc3bdn7i1qg82bwd1pxwdbdb-cargo-package-windows-sys-0.52.0.drv /nix/store/n2awwgrrql1ix4f7mv7kqv4prps8fkk5-cargo-package-windows-sys-0.61.2.drv /nix/store/nqwm2v09vzjah9m0x6grgjrsbcf4xqvg-cargo-package-wasi-0.11.1+wasi-snapshot-preview1.drv /nix/store/p5lf333q25fvaad9m63sdk569zrcxvkq-cargo-package-untrusted-0.9.0.drv /nix/store/pahx8cs4k8cadrc388k6hra44ymly93w-cargo-package-zstd-0.13.3.drv /nix/store/pshjsbnmgyfqkv1ax7n7dfc89y4dx3di-cargo-package-tower-http-0.6.11.drv /nix/store/r3v74yx9vgwszng8nryaag6fy0wy9gaq-cargo-package-tokio-tungstenite-0.24.0.drv /nix/store/shjydax5v69dsmc1nppb9yv073yn12lx-cargo-package-tokio-macros-2.7.1.drv /nix/store/w9g6p03wyqd8r63myhpz07xka4d1l69p-cargo-package-yoke-0.8.3.drv /nix/store/wghr61xmzb0phgx0v0wmxbdhcsj3dr0k-cargo-package-windows_aarch64_msvc-0.52.6.drv /nix/store/x74gcdirgb579qi6c4c9irjkjv9z6fk6-cargo-package-web-time-1.1.0.drv /nix/store/x93yk88agsnk5w15gw67bzkzblx2isi5-cargo-package-tungstenite-0.24.0.drv /nix/store/xdkkbdyc9580sw8pdz2mph6cxjgxv0p5-cargo-package-windows_x86_64_gnullvm-0.52.6.drv /nix/store/xwg15zm3x1i5qcd46cddw3yixqp4vxri-cargo-package-web-sys-0.3.103.drv /nix/store/y5mhkay09gbirdjas6zr99gzvy0lv77f-cargo-package-windows_aarch64_gnullvm-0.52.6.drv /nix/store/yfajdk8270ndbh9fj2ab19788fpgqzbm-cargo-package-wasm-bindgen-shared-0.2.126.drv /nix/store/yliii0yhd2l4qpnzswyc3h0lqdgc57m0-cargo-package-wasm-bindgen-macro-0.2.126.drv /nix/store/z27c4gsj7c18zblnsvclxdvpkxrrvc18-cargo-package-windows_x86_64_gnu-0.52.6.drv /nix/store/zsrw61h9s15gy0rbbr3k956v1nzhw3ng-cargo-package-tinyvec-1.12.0.drv /nix/store/nnq4zk0rxwpxfh05cbp2a3bx1352x1rz-vendor-registry.drv /nix/store/vy29cvxafscj7kyj1vd96wc8z7z1wlbx-vendor-cargo-deps.drv /nix/store/xggdmfw7x7wffyxnz3rg49gsrx631125-configureCargoVendoredDepsHook.drv /nix/store/kq4r1q38bwxbq4ry36zhmnf16br7sk5q-herdr-eternal-deps-0.1.0.drv /nix/store/6sizk0dqg7y205ydj6g7dffk8gy6dgnh-herdr-eternal-clippy-0.1.0.drv building '/nix/store/5cgyiknqgdsxd9aj57swzzycy7kzav2p-cargo-package-rustls-0.23.43.drv' cargo-package-rustls-0.23.43> tribuchet: building on eliza cargo-package-rustls-0.23.43> Running phase: unpackPhase cargo-package-rustls-0.23.43> setting SOURCE_DATE_EPOCH to timestamp 1153704088 of file "./crate/src/x509.rs" cargo-package-rustls-0.23.43> Running phase: patchPhase cargo-package-rustls-0.23.43> Running phase: updateAutotoolsGnuConfigScriptsPhase cargo-package-rustls-0.23.43> Running phase: installPhase building '/nix/store/6sizk0dqg7y205ydj6g7dffk8gy6dgnh-herdr-eternal-clippy-0.1.0.drv' herdr-eternal-clippy-0.1.0> tribuchet: building on eliza herdr-eternal-clippy-0.1.0> Running phase: unpackPhase herdr-eternal-clippy-0.1.0> unpacking source archive /nix/store/hm5wp2v5k2i3z650xkxjf7sa2m5h7zqq-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/p144mrm8r80lbby3rlilrlnrjbas8lwl-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 /build/source/.cargo-home/config.toml with contents of /nix/store/18035ywd6gsxfhdy681zgyxbxknbr7kl-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 (/build/source/proto) herdr-eternal-clippy-0.1.0> Checking herdr-eternal-server v0.1.0 (/build/source/server) herdr-eternal-clippy-0.1.0> Checking herdr-eternal-ssh v0.1.0 (/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/6sizk0dqg7y205ydj6g7dffk8gy6dgnh-herdr-eternal-clippy-0.1.0.drv'. Reason: builder failed with exit code 101. Output paths: /nix/store/81fhkn2969gwxh3wsk6b90smn7a0f24i-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/6sizk0dqg7y205ydj6g7dffk8gy6dgnh-herdr-eternal-clippy-0.1.0.drv