Skip to content

install: keep linking the remaining bins when one bin or one dependency's bins fail to link - #38972

Open
robobun wants to merge 5 commits into
mainfrom
farm/6af69c2b/isolated-link-sibling-bins
Open

install: keep linking the remaining bins when one bin or one dependency's bins fail to link#38972
robobun wants to merge 5 commits into
mainfrom
farm/6af69c2b/isolated-link-sibling-bins

install: keep linking the remaining bins of a package after one of it…

2aa0cdc
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Aug 15, 2026 in 17m 46s

Code review found 1 potential issue

Found 1 candidates, confirmed 1. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit src/install/bin.rs:930-941 Windows openat-fail path bypasses new prior_err/seen cleanup

Annotations

Check warning on line 941 in src/install/bin.rs

See this annotation in the file changed.

@claude claude / Claude Code Review

Windows openat-fail path bypasses new prior_err/seen cleanup

On Windows, the hoisted `sys::File::openat` early-return (non-EISDIR error) sits after `seen.get_or_put(abs_dest)` but before the new `prior_err` capture and `seen.remove` cleanup, so this path still overwrites `self.err` last-wins and leaves `abs_dest` in `seen` — the PR's new first-error/seen-cleanup invariant is applied to the `create_windows_shim` failure path but not this sibling one. Move `seen.get_or_put` after the openat, or add `seen.remove` + `prior_err.or(err)` to this early return.