fix: detect nightly rust-src updates in sysroot cache#17
Conversation
The sysroot freshness check only compared PSP overlay file mtimes against the cache stamp, missing cases where `rustup update nightly` installs a newer rust-src component. This caused stale sysroot builds with intrinsic mismatches when the nightly toolchain was updated. Now also checks the nightly's library/Cargo.lock mtime, triggering a sysroot rebuild when either the overlay or the toolchain changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Gemini AI Code ReviewIssues(none) Previous Issues(none) Suggestions
Notes
Generated by Gemini AI (gemini-3-flash-preview). Supplementary to human reviews. |
Codex AI Code ReviewIssues (if any)
Previous Issues (for incremental reviews)(none) Suggestions (if any)(none) Notes
Generated by Codex AI (gpt-5.3-codex). Supplementary to human reviews. |
Default to SystemTime::now() instead of UNIX_EPOCH when library/Cargo.lock metadata fails, ensuring the sysroot is rebuilt rather than silently treated as up-to-date. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Review Response Agent (Iteration 1)Status: No changes needed Fixed Issues
Ignored Issues
Deferred to Human
Notes
The agent reviewed feedback but determined no code changes were required. |
Gemini AI Incremental ReviewThis is an incremental review focusing on changes since the last review. Issues (if any)(none) Previous Issues (for incremental reviews)
Suggestions (if any)
Notes
Generated by Gemini AI (gemini-3-flash-preview). Supplementary to human reviews. |
Codex AI Incremental ReviewThis is an incremental review focusing on changes since the last review. Issues (if any)
Previous Issues (for incremental reviews)
Suggestions (if any)
Notes
Generated by Codex AI (gpt-5.3-codex). Supplementary to human reviews. |
Review Response Agent (Iteration 2)Status: No changes needed Fixed Issues
Ignored Issues
Deferred to Human
Notes
The agent reviewed feedback but determined no code changes were required. |

Summary
prepare_psp_sysroot()only compared PSP overlay file mtimes against the cache stamprustup update nightlyinstalls a newer rust-src component, the stale sysroot caused 31coreintrinsic mismatch errors (e.g.vtable_for,va_copysignature changes)library/Cargo.lockmtime, triggering a sysroot rebuild when either the overlay or the toolchain changesTest plan
rustup update nightly,cargo +nightly psp --releasecorrectly detects stale sysroot and rebuildsGenerated with Claude Code