You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cargo lets a crate name its workspace root explicitly with package.workspace = "<path>" instead of being found by walking up the directory tree. findCargoLockfile (packages/core/src/cargo.ts) only walks up, both on main and in #674's version, which otherwise follows cargo's root rule including exclude. So in a pointer layout:
No own lock is found for the crate, and its lock isn't treated as its own.
main has the same gap; #674 doesn't introduce it. The layout is rare.
Found during the #674 review (round 4). The reviewer compared findCargoLockfile against cargo metadata's workspace_root in 22 layouts, and this was the only mismatch.
Fix
In findCargoLockfile, read the crate's own package.workspace and, when set, use that directory as the root. It's a few lines on top of #674's TOML read. Add a core test pinned against cargo's choice. #674 notes the gap in the function's JSDoc; remove that note with the fix.
Activity
goosewobbler commentedon Oct 23, 2026
Fixed by #674:
findCargoWorkspaceRootfollows a crate'spackage.workspacepointer (packages/core/src/cargo.ts), with a test.