Skip to content

phase7-nightly: pin nightly + -Zfixed-x18, build is 0 warnings - #15

Merged
kadenlee1107 merged 1 commit into
feat/js-engine-browser-posixfrom
cleanup/phase7-nightly
May 8, 2026
Merged

kadenlee1107 merged 1 commit into
feat/js-engine-browser-posixfrom
cleanup/phase7-nightly

Conversation

@kadenlee1107

Copy link
Copy Markdown
Owner

Summary

Literal zero warnings on a release build. Pins the toolchain to nightly-2026-05-06 via rust-toolchain.toml, swaps the deprecated -C target-feature=+reserve-x18 rustflag for the modern -Zfixed-x18 (rust-lang/rust#116344).

Why nightly

Two reasons, both pre-existing:

  1. -Zfixed-x18 (modern x18-reservation flag) is nightly-only. Bat_OS uses x18 for per-cave bookkeeping and must keep the compiler off it; +reserve-x18 was rust-deprecated.
  2. [unstable] build-std was already in use. On stable it worked by accident; on nightly it's officially supported.

The pin makes both explicit and reproducible.

Bump policy

rust-toolchain.toml has a # Bump procedure note inline: don't auto-upgrade. Every nightly bump runs the smokes first; every PR documents which channel it's tested against.

Verification

  • cargo build --release --target aarch64-unknown-none --features gicv3 — 0 warnings (was 1: the deprecation)
  • cargo check --target aarch64-unknown-none --features gicv3 — 0 warnings
  • python3 scripts/qemu_selftests_smoke.py — all 6 sub-tests PASS
  • python3 scripts/qemu_https_smoke.py — 200 OK from pq.cloudflareresearch.com, hybrid PQ on, body-bytes=6264. Real HTTPS still works on the new toolchain.

Diff scale

  • +1 file (rust-toolchain.toml, 18 lines incl. comment)
  • 1 file modified (.cargo/config.toml — single rustflag swap + 4-line comment refresh)

Phase progress

  • Phases 1-6
  • Phase 7: 0 warnings via pinned nightly ← this PR
  • Phase 8: Clippy clean

🤖 Generated with claude-flow

Pins the toolchain to a specific nightly so -Zfixed-x18 is
available. Drops the last unactionable build warning (the
rust-lang/rust#116344 deprecation that has been hanging on for
4+ phases).

Why nightly:
- -Zfixed-x18 (modern x18-reservation rustflag) is nightly-only.
  Bat_OS uses x18 for per-cave bookkeeping and must keep the
  compiler off it; +reserve-x18 was rust-deprecated.
- [unstable] build-std was already in use; on stable that worked
  by accident, on nightly it's officially supported.

The rust-toolchain.toml pin makes both explicit and reproducible.
Bump procedure documented inline — don't auto-upgrade.

Verification:
- cargo build --release --target aarch64-unknown-none --features gicv3:
  0 warnings (down from 1 — the reserve-x18 deprecation is gone)
- qemu_selftests_smoke.py — all 6 sub-tests PASS
- qemu_https_smoke.py — 200 OK from pq.cloudflareresearch.com,
  hybrid PQ on, body-bytes=6264

Co-Authored-By: claude-flow <ruv@ruv.net>
@kadenlee1107
kadenlee1107 merged commit 8adfb18 into feat/js-engine-browser-posix May 8, 2026
@kadenlee1107
kadenlee1107 deleted the cleanup/phase7-nightly branch May 8, 2026 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant