perf(pm): restore cold_path() hints in the vendored aube hot loops - #553
Conversation
nub vendors aube and builds every binary on current stable, so aube's upstream MSRV floor (1.91, held there so mise's distro packaging can embed the crates) does not bind nub. Re-add core::hint::cold_path() on the rare arms of the hot install loops: linker link-fallbacks, resolver semver cache-misses, lockfile subset-parser bails, tarball validation rejects. Behaviorally inert — a codegen hint only. Raise the vendored aube rust-version to 1.95 (documented in Cargo.toml as a deliberate fork delta, preserved on every aube bump) and, because nub-cli depends on aube, the nub root rust-version to 1.95 as well. nub-native already required 1.95, so this only aligns the root floor with what the full build needs. The CI MSRV Check job runs the root + native legs on 1.95.0; nub-phantom (aube-free) keeps its 1.93.0 leg. Refs #442
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — restores the 22 core::hint::cold_path() codegen hints #442 reverted and raises the MSRV floor to 1.95 (the version cold_path() stabilized) across the root workspace and vendored aube.
cold_path()hints on rare hot-loop arms — 22 inert codegen hints on link-error fallbacks (materialize.rs), parser bails (subset.rs), resolver cache misses (semver_util.rs), and tarball validation rejects (tarball.rs), all on genuinely rare branches.- MSRV bump to 1.95 —
vendor/aube/Cargo.toml(1.91 → 1.95) and rootCargo.toml(1.93 → 1.95), each with a provenance comment; the vendored bump is flagged as a deliberate fork delta. - CI MSRV Check reordered — aube-free
nub-phantomverifies on 1.93.0; the aube-dependent root--all-targets+ native checks move to 1.95.0. aube-bumpskill documents the fork delta — addscold_pathto the fork-delta grep guard and records the standing 1.95-vs-upstream-1.91 divergence to preserve on every sync.
I verified the load-bearing facts directly: core::hint::cold_path() stabilized exactly in 1.95.0 (per the Rust docs), so the MSRV floor is correct rather than over-conservative; the 22 hints are present and all sit on rare arms; and the CI split is sound — the aube-free workspace keeps its 1.93 floor while everything depending on the vendored engine verifies on 1.95. The hints are behaviorally inert by definition, so there is no runtime risk. vendor/aube/.rules still states msrv 1.93, but that describes upstream aube's floor (intentionally not nub's) and is vendored upstream content the PR correctly leaves untouched.
Claude Opus | 𝕏
Raising the workspace rust-version to 1.95 propagated to nub-phantom-core and nub-phantom-scan (root members), which the aube-free nub-phantom eval tool depends on — so the MSRV Check job's nub-phantom-on-1.93 leg failed with "requires rustc 1.95". Only nub-cli actually pulls in the vendored aube (the sole user of core::hint::cold_path), so set rust-version = "1.95" on nub-cli alone and restore the workspace floor to 1.93. Every other crate keeps its 1.93 floor.
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — since the prior review at b0d20bc, the only new commit (e52b441) refines the MSRV scoping: instead of raising the whole root workspace floor to 1.95, it keeps the workspace at 1.93 and sets rust-version = "1.95" only on crates/nub-cli. The cold_path() hints themselves are unchanged.
- Per-crate MSRV floor —
crates/nub-cli/Cargo.tomloverridesrust-version.workspace = truewith an explicitrust-version = "1.95"; the root[workspace.package]floor reverts to 1.93 with an updated provenance comment. - CI unchanged in effect — the MSRV
Checkjob still verifies the aube-freenub-phantomon 1.93.0 and the aube-dependent root--all-targets+ native on 1.95.0. - Skill doc updated — the
aube-bumpfork-delta note now records that the 1.95 floor lives onnub-cliwhile the workspace stays at 1.93.
I verified the scoping is precisely correct: the root workspace members are nub-cache-key, nub-cli, nub-core, nub-phantom-core, and nub-phantom-scan, and only nub-cli takes path dependencies into vendor/aube — so a 1.95 floor on nub-cli alone covers exactly the crate that pulls core::hint::cold_path(), leaving the aube-free nub-phantom-* crates buildable on 1.93. nub-native is a separate workspace already at 1.95. rust-version is advisory metadata; compilation of the vendored cold_path() is actually exercised by the CI cargo check --all-targets run under the 1.95.0 toolchain. This is a strict improvement over the prior over-raised workspace floor and remains behaviorally inert.
Claude Opus | 𝕏
|
Shipped in v0.6.0: https://github.com/nubjs/nub/releases/tag/v0.6.0 |

Restores the
cold_path()hints #442 reverted. Upstream aube pins MSRV 1.91 for mise's distro packaging, but nub vendors aube and builds on stable, so that floor doesn't bind us.core::hint::cold_path()hints on the rare arms of the hot install loops (linker fallbacks, resolver cache-misses, subset-parser bails, tarball rejects). Inert.vendor/aube/Cargo.tomlMSRV → 1.95, documented as a deliberate fork delta (kept on every bump; noted in theaube-bumpskill).Builds clean on stable locally. Refs #442.