Skip to content

build: bump Rust toolchain to nightly-2026-07-20#34452

Closed
robobun wants to merge 3 commits into
mainfrom
claude/farm/7a7af382/bump-rust-nightly-2026-07-15
Closed

build: bump Rust toolchain to nightly-2026-07-20#34452
robobun wants to merge 3 commits into
mainfrom
claude/farm/7a7af382/bump-rust-nightly-2026-07-15

Conversation

@robobun

@robobun robobun commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Bumps the pinned Rust nightly from nightly-2026-05-06 to nightly-2026-07-20.

old new
rustc 1.97.0-nightly (e95e73209 2026-05-05) 1.99.0-nightly (9f36de775 2026-07-19)
bundled LLVM 22.1.4 22.1.8

Notable upstream changes in this range

  • v0 symbol mangling is now the default (rust#151994, 1.97). Rust symbols are now emitted with the _R prefix instead of legacy _ZN. std's own backtrace printer demangles both, but bun.report's server-side remapper and any external profiler/debugger tooling that reads Bun's Rust frames needs a v0-aware demangler. We do not pin -Csymbol-mangling-version, so this takes effect.
  • linker_messages lint on by default (rust#153968, 1.97). Already handled: scripts/build/rust.ts and scripts/build/cargo-config.ts pass -Alinker_messages.
  • Bundled LLVM 22.1.4 → 22.1.8 (same major). Cross-language LTO against our clang-21 is unaffected; the rust-lto-fix step still reads rustc-emitted bitcode with rustc's own llvm-tools.
  • Windows WSAESHUTDOWN now maps to io::ErrorKind::BrokenPipe (rust#156063, 1.97). N/A for us: Bun's socket layer maps Win32 errors through bun_errno (which already maps WSAESHUTDOWNEPIPE), not std's ErrorKind.
  • Enum layout encoding changed for some repr(Rust) enums (rust#155473, 1.97). N/A: every enum we pass across FFI is repr(C)/repr(u*).
  • {integer}::isolate_lowest_one / isolate_highest_one stabilised (1.97). Used in two of the clippy fixes below.
  • core::mem::type_info nightly feature reshaped: core::intrinsics::type_id is now #[rustc_comptime] (compile-time only), and type_info::Type lost its size field in favour of TypeId::size(). bun_collections::MultiArrayList is the only user; fixed below.
  • Of the nightly features we enable (adt_const_params, allocator_api, arbitrary_self_types_pointers, generic_const_exprs, hasher_prefixfree_extras, inherent_associated_types, macro_metavar_expr, sync_unsafe_cell, thread_local, type_info, core_intrinsics), only type_info/core_intrinsics changed shape.
  • New rustc lint suspicious_runtime_symbol_definitions (1.99 nightly). Flags extern "C" declarations of runtime symbols (exit, etc.) whose Rust signature differs from std's own. Our bun_core::Global declares libc_exit as safe fn on purpose (no memory-safety preconditions); the ABI is identical, so #[allow] on the block.

Toolchain pin

  • rust-toolchain.toml
  • .github/workflows/{format,clippy,miri}.yml (RUSTUP_TOOLCHAIN)

Nightly API changes (core::mem::type_info)

bun_collections::MultiArrayList uses the experimental reflection API, which changed shape:

  • core::intrinsics::type_id is now #[rustc_comptime] (callable only at compile time). Wrapped the call in a const { } block.
  • type_info::Type no longer has a size field; the size now comes from TypeId::size().

New clippy lints

The new nightly promotes several lints that trip under the workspace's -D warnings. All fixes are mechanical and preserve behaviour:

  • clippy::needless_late_init: convert late let x; if ... { x = ... } else { x = ... } to let x = if ... { ... } else { ... }; (bun_alloc, bun_collections, js_parser, js_printer, install, runtime/node/path, runtime/socket/udp, valkey_jsc, sql_jsc/mysql)
  • clippy::chunks_exact_to_as_chunks: replace .chunks_exact(N) / .chunks_exact_mut(N) on const N with .as_chunks::<N>() (bun_core, boringssl, ast/char_freq, http_jsc websocket, runtime/cli/upgrade, runtime/image, runtime/webcore/encoding)
  • clippy::manual_isolate_lowest_one: x & x.wrapping_neg()x.isolate_lowest_one() (collections, css)
  • clippy::manual_clear: truncate(0)clear() (router)
  • clippy::drain_collect: vec.drain(..).collect()mem::take(&mut vec) (react_compiler)

Quiet rustup output

The build runs rustup toolchain install --force before cargo to self-heal partial toolchain installs. On a no-op this printed:

info: syncing channel updates for 'nightly-...-aarch64-apple-darwin'
info: latest update on ...
info: component 'rust-src' is up to date
info: self-update is disabled for this build of rustup
info: any updates to rustup will need to be fetched with your system package manager

Added -q (sets rustup log level to WARN) and --no-self-update to the three call sites (scripts/build/{rust.ts,source.ts,tools.ts}) so the info lines are suppressed while download/error output still surfaces.

Verification

  • bun bd builds and bun-debug --revision runs
  • cargo fmt --all --check is clean on the new nightly (no formatting drift)
  • cargo clippy --workspace --no-deps --keep-going passes on the new nightly
  • cargo test -p bun_collections multi_array passes (7/7)

Fixes #31414

@robobun

robobun commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author
Updated 11:38 PM PT - Jul 19th, 2026

@robobun, your commit 53dc8ab is building: #76074

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@robobun, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 6 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: adc95d75-38bf-4970-8a89-de26b726ed2b

📥 Commits

Reviewing files that changed from the base of the PR and between 5c28061 and 53dc8ab.

📒 Files selected for processing (29)
  • .github/workflows/clippy.yml
  • .github/workflows/format.yml
  • .github/workflows/miri.yml
  • rust-toolchain.toml
  • scripts/build/rust.ts
  • scripts/build/source.ts
  • scripts/build/tools.ts
  • src/ast/char_freq.rs
  • src/boringssl/lib.rs
  • src/bun_alloc/lib.rs
  • src/bun_core/Global.rs
  • src/bun_core/lib.rs
  • src/collections/bit_set.rs
  • src/collections/multi_array_list.rs
  • src/css/values/color.rs
  • src/http_jsc/websocket_client/WebSocketUpgradeClient.rs
  • src/install/PackageManager/CommandLineArguments.rs
  • src/install/resolvers/folder_resolver.rs
  • src/js_parser/parse/parse_typescript.rs
  • src/js_printer/lib.rs
  • src/react_compiler/ssa/enter_ssa.rs
  • src/router/lib.rs
  • src/runtime/cli/upgrade_command.rs
  • src/runtime/image/codecs.rs
  • src/runtime/node/path.rs
  • src/runtime/socket/udp_socket.rs
  • src/runtime/valkey_jsc/valkey.rs
  • src/runtime/webcore/encoding.rs
  • src/sql_jsc/mysql/MySQLValue.rs

Comment @coderabbitai help to get the list of available commands.

@robobun

robobun commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

No test/** changes in this PR: this is a toolchain version bump, and every src/** change is either a compile fix forced by the new nightly (the core::mem::type_info reshape) or a mechanical clippy-suggested rewrite for lints newly promoted under -D warnings. None of them change runtime behaviour, so there is no before/after observable to regression-test; correctness is covered by bun bd compiling, cargo clippy --workspace passing, and the existing test suite running unchanged on the new toolchain.

@github-actions

Copy link
Copy Markdown
Contributor

Found 1 issue this PR may fix:

  1. Perf: avoid using chunks_exact* when size is known statically #31414 - PR replaces .chunks_exact(N) / .chunks_exact_mut(N) with .as_chunks::<N>() / .as_chunks_mut::<N>() across ~7 files, which is exactly what this issue requests

If this is helpful, copy the block below into the PR description to auto-close this issue on merge.

Fixes #31414

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

This PR may be a duplicate of:

  1. perf: use as_chunks* instead of chunks_exact* for static chunk sizes #31415 - Also converts chunks_exactas_chunks in 5 of the same files (src/bun_core/lib.rs, src/ast/char_freq.rs, src/http_jsc/websocket_client/WebSocketUpgradeClient.rs, src/runtime/image/codecs.rs, src/runtime/webcore/encoding.rs); merging both without rebasing will cause conflicts

🤖 Generated with Claude Code

@robobun

robobun commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

Re the overlap with #31415: that PR is already in conflict with main and its const-N chunks_exactas_chunks conversions are now enforced by clippy::chunks_exact_to_as_chunks on this nightly, so this PR supersedes that portion (covering the same five files plus two more clippy flagged). The only non-overlapping content in #31415 is the runtime-stride handling in src/install/lockfile/Package.rs (not a const generic, so the lint does not apply) and scripts/verify-baseline-static/src/main.rs, which can be rebased on top of this if still wanted.

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beyond the pre-existing inline finding, I walked each chunks_exactas_chunks site to confirm remainder handling is unchanged (every site either has an exact-multiple length or already discarded the remainder), checked that the bun_core as_chunks_mut borrow ends before the tail dst[copied..] reborrow, and confirmed folder_resolver.rs still assigns abs in both branches before the new rel expression uses it.

Extended reasoning...

The only finding is explicitly pre-existing (Time::to_binary off-by-one, unrelated to this PR's mechanical rewrite of the call site). I verified the less-obviously-mechanical lint fixes for behaviour preservation — in particular the as_chunks conversions (remainder semantics match chunks_exact at every site) and the needless_late_init rewrites where a second variable (abs in folder_resolver, minify_renamer/no_op_renamer in js_printer) is still assigned inside the branches. Deferring rather than approving because a toolchain bump touching 28 files plus build scripts should have the full BuildKite matrix confirmed green by a human before merge.

Comment thread src/sql_jsc/mysql/MySQLValue.rs
robobun added 2 commits July 20, 2026 06:28
Bumps the pinned Rust nightly from 2026-05-06 to 2026-07-15 across
rust-toolchain.toml and the format/clippy/miri workflow pins.

Two nightly API changes in core::mem::type_info required code changes
in bun_collections::MultiArrayList:
  - core::intrinsics::type_id is now comptime-only; wrap in const { }
  - Type.size field removed; use TypeId::size() instead

The rest of the Rust changes are mechanical fixes for clippy lints
newly promoted on this nightly:
  - clippy::needless_late_init (let x = if ... else ...)
  - clippy::chunks_exact_to_as_chunks (as_chunks::<N>())
  - clippy::manual_isolate_lowest_one (isolate_lowest_one())
  - clippy::manual_clear (clear() over truncate(0))
  - clippy::drain_collect (mem::take over drain(..).collect())

Also quiets the rustup toolchain install chatter that ran on every
build: pass -q (log level WARN) and --no-self-update to the
configure-time and ninja-rule rustup invocations so the 'info: syncing
channel updates' / 'info: self-update is disabled' block no longer
prints on a no-op reinstall. Errors and warnings still surface.
@robobun
robobun force-pushed the claude/farm/7a7af382/bump-rust-nightly-2026-07-15 branch from 30aa4fd to b238a79 Compare July 20, 2026 06:30
@robobun

robobun commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator Author

Rebased onto current main (102 commits) and bumped the target to nightly-2026-07-20 (rustc 1.99.0-nightly, 9f36de775 2026-07-19). The rebase applied cleanly; CI will surface any new lints or breakage introduced between 07-15 and 07-20.

@robobun robobun changed the title build: bump Rust toolchain to nightly-2026-07-15 build: bump Rust toolchain to nightly-2026-07-20 Jul 20, 2026
nightly-2026-07-20 adds a rustc lint that flags extern declarations of
runtime symbols (exit, abort, etc.) whose Rust signature does not match
std's own declaration. Our libc_exit is declared 'safe fn' intentionally
(no memory-safety preconditions, callers are plain calls); the ABI is
identical, only the Rust-side safety annotation differs. Allow the lint
on the block.
@robobun

robobun commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #34782, which folds this toolchain bump in alongside the CI pipeline changes and image bake. Closing in favour of that PR.

@robobun robobun closed this Jul 20, 2026
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size annotates only on non-LTO PRs since the
comparison against the LTO main baseline is not like-for-like.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 builds are baseline-only: config.ts defaults baseline=true on x64,
the haswell -march entry is dropped, and the non-baseline x64 build/test
lanes are removed from ci.mjs. upload-release.sh aliases the old
bun-*-x64.zip names to the -baseline zips so existing download URLs and
install scripts keep resolving. ENABLE_SIMD becomes false on x64;
runtime SIMD dispatch already covers the paths that matter.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size annotates only on non-LTO PRs since the
comparison against the LTO main baseline is not like-for-like.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 builds are baseline-only: config.ts defaults baseline=true on x64,
the haswell -march entry is dropped, and the non-baseline x64 build/test
lanes are removed from ci.mjs. upload-release.sh aliases the old
bun-*-x64.zip names to the -baseline zips so existing download URLs and
install scripts keep resolving. ENABLE_SIMD becomes false on x64;
runtime SIMD dispatch already covers the paths that matter.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size annotates only on non-LTO PRs since the
comparison against the LTO main baseline is not like-for-like.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 builds are baseline-only: config.ts defaults baseline=true on x64,
the haswell -march entry is dropped, and the non-baseline x64 build/test
lanes are removed from ci.mjs. upload-release.sh aliases the old
bun-*-x64.zip names to the -baseline zips so existing download URLs and
install scripts keep resolving. ENABLE_SIMD becomes false on x64;
runtime SIMD dispatch already covers the paths that matter.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size annotates only on non-LTO PRs since the
comparison against the LTO main baseline is not like-for-like; [lto] PRs
enforce the threshold.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 builds are baseline-only: config.ts defaults baseline=true on x64,
the haswell -march entry is dropped, and the separate -baseline build/
test lanes are removed. Step keys and artifact names use the plain
*-x64 form (no -baseline suffix); computeBunTriplet() drops the suffix,
and upload-release.sh uploads the historical -baseline names as copies.
WebKit's prebuiltSuffix() only appends -baseline for linux/windows (no
macOS/FreeBSD baseline tarball exists). needsBaselineVerification() now
runs on every release x64 lane. ENABLE_SIMD becomes false on x64; runtime
SIMD dispatch already covers the hot paths.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size annotates only on non-LTO PRs since the
comparison against the LTO main baseline is not like-for-like; [lto] PRs
enforce the threshold.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 builds are baseline-only: config.ts defaults baseline=true on x64,
the haswell -march entry is dropped, and the separate -baseline build/
test lanes are removed. Step keys and artifact names use the plain
*-x64 form (no -baseline suffix); computeBunTriplet() drops the suffix,
and upload-release.sh uploads the historical -baseline names as copies.
WebKit's prebuiltSuffix() only appends -baseline for linux/windows (no
macOS/FreeBSD baseline tarball exists). needsBaselineVerification() now
runs on every release x64 lane. ENABLE_SIMD becomes false on x64; runtime
SIMD dispatch already covers the hot paths.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients.
WebKit prebuiltSuffix() only appends -baseline for linux(gnu/musl) and
windows (no macOS/FreeBSD/Android -baseline tarball exists). The runtime
binary no longer carries the concept: Environment::BASELINE / ENABLE_SIMD
/ BUN__GITHUB_BASELINE_URL / bun_warn_avx_missing / the version-string
suffix and crash-report char are removed; compile_target still accepts
-baseline/-modern tokens (normalized to the plain triplet). install.sh /
install.ps1 drop the AVX2 probe; bun upgrade requests the plain name.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients.
WebKit prebuiltSuffix() only appends -baseline for linux(gnu/musl) and
windows (no macOS/FreeBSD/Android -baseline tarball exists). The runtime
binary no longer carries the concept: Environment::BASELINE / ENABLE_SIMD
/ BUN__GITHUB_BASELINE_URL / bun_warn_avx_missing / the version-string
suffix and crash-report char are removed; compile_target still accepts
-baseline/-modern tokens (normalized to the plain triplet). install.sh /
install.ps1 drop the AVX2 probe; bun upgrade requests the plain name.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients
and compile --target. WebKit prebuiltSuffix() only appends -baseline for
linux(gnu/musl) and windows. The runtime binary no longer carries the
concept: Environment::BASELINE / ENABLE_SIMD / BUN__GITHUB_BASELINE_URL
/ bun_warn_avx_missing / the version-string suffix and crash-report char
are removed. compile_target keeps its baseline field (user-written
-baseline is respected in the npm URL so pinned old versions work);
install.sh/ps1 keep the AVX2 probe for the same reason. bun-release
platform.ts keeps -baseline entries as alias:true (published, not
auto-selected); avx2 probes/filter removed.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients
and compile --target. WebKit prebuiltSuffix() only appends -baseline for
linux(gnu/musl) and windows. The runtime binary no longer carries the
concept: Environment::BASELINE / ENABLE_SIMD / BUN__GITHUB_BASELINE_URL
/ bun_warn_avx_missing / the version-string suffix and crash-report char
are removed. compile_target keeps its baseline field (user-written
-baseline is respected in the npm URL so pinned old versions work);
install.sh/ps1 keep the AVX2 probe for the same reason. bun-release
platform.ts keeps -baseline entries as alias:true (published, not
auto-selected); avx2 probes/filter removed.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients
and compile --target. WebKit prebuiltSuffix() only appends -baseline for
linux(gnu/musl) and windows. The runtime binary no longer carries the
concept: Environment::BASELINE / ENABLE_SIMD / BUN__GITHUB_BASELINE_URL
/ bun_warn_avx_missing / the version-string suffix and crash-report char
are removed. compile_target keeps its baseline field (user-written
-baseline is respected in the npm URL so pinned old versions work);
install.sh/ps1 keep the AVX2 probe for the same reason. bun-release
platform.ts keeps -baseline entries as alias:true (published, not
auto-selected); avx2 probes/filter removed.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients
and compile --target. WebKit prebuiltSuffix() only appends -baseline for
linux(gnu/musl) and windows. The runtime binary no longer carries the
concept: Environment::BASELINE / ENABLE_SIMD / BUN__GITHUB_BASELINE_URL
/ bun_warn_avx_missing / the version-string suffix and crash-report char
are removed. compile_target keeps its baseline field (user-written
-baseline is respected in the npm URL so pinned old versions work);
install.sh/ps1 keep the AVX2 probe for the same reason. bun-release
platform.ts keeps -baseline entries as alias:true (published, not
auto-selected); avx2 probes/filter removed.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients
and compile --target. WebKit prebuiltSuffix() only appends -baseline for
linux(gnu/musl) and windows. The runtime binary no longer carries the
concept: Environment::BASELINE / ENABLE_SIMD / BUN__GITHUB_BASELINE_URL
/ bun_warn_avx_missing / the version-string suffix and crash-report char
are removed. compile_target keeps its baseline field (user-written
-baseline is respected in the npm URL so pinned old versions work);
install.sh/ps1 keep the AVX2 probe for the same reason. bun-release
platform.ts keeps -baseline entries as alias:true (published, not
auto-selected); avx2 probes/filter removed.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…s, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m);
main keeps LTO so canary matches what ships. [lto] in the commit subject
opts a PR back in. binary-size enforces only on [lto] PRs; main records
the baseline and non-LTO PRs annotate only.

Tests now run on main (minus asan) and the canary upload-release step
depends on every *-test-bun key; a red lane blocks the GitHub/S3 upload.
[skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the
haswell -march entry (and rust.ts haswell cpuTarget) is gone. Step keys,
labels, and artifact names use the plain *-x64 form: computeBunTriplet()
drops the -baseline suffix, upload-release.sh re-zips each x64 artifact
under the historical -baseline name (inner dir renamed) for old clients
and compile --target. WebKit prebuiltSuffix() only appends -baseline for
linux(gnu/musl) and windows. The runtime binary no longer carries the
concept: Environment::BASELINE / ENABLE_SIMD / BUN__GITHUB_BASELINE_URL
/ bun_warn_avx_missing / the version-string suffix and crash-report char
are removed. compile_target keeps its baseline field (user-written
-baseline is respected in the npm URL so pinned old versions work);
install.sh/ps1 keep the AVX2 probe for the same reason. bun-release
platform.ts keeps -baseline entries as alias:true (published, not
auto-selected); avx2 probes/filter removed.

bootstrap.sh v40: install_macos_sdk() fetches the repo's xmac.mjs and
splats the pinned MacOSX SDK into /opt/macos-sdk (resolveMacosSdkPath
already checks there), and install_linux_glibc_sysroot() drops a bootlin
glibc sysroot into /opt/linux-sysroot-glibc (detected by the new
detectLinuxGlibcSysroot() but not yet consumed; the --wrap symbol
portability mechanism stays live). Dead install_osxcross path removed.

Rust toolchain bumped to nightly-2026-07-20 (folds #34452, plus an
allow for the new suspicious_runtime_symbol_definitions lint on the
safe-fn libc extern block in Global.rs).
robobun added a commit that referenced this pull request Jul 20, 2026
…er, sysroots, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m); main
keeps LTO so canary matches what ships. [lto] opts a PR back in. binary-size
enforces only on [lto] PRs. Tests run on main (minus asan); canary upload
depends on every *-test-bun key. [skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the haswell
-march entry (and rust.ts haswell cpuTarget, and the brotli -fno-lto gate)
is gone. Step keys/labels/artifact names use plain *-x64; computeBunTriplet()
drops the suffix, upload-release.sh re-zips each x64 artifact under the
historical -baseline name (inner dir renamed) for old clients. WebKit
prebuiltSuffix() only appends -baseline for linux(gnu/musl)+windows release/
lto (no macOS/FreeBSD/Android/arm64/-asan/-debug tarball exists). The
runtime binary drops Environment::BASELINE / ENABLE_SIMD (SWAR loop ungated)
/ BUN__GITHUB_BASELINE_URL / bun_warn_avx_missing / version-string suffix /
crash-report char. compile_target keeps its baseline field (user-written
-baseline respected for old-version npm URLs); install.sh/ps1 keep the AVX2
probe for pinned old versions. bun-release platform.ts keeps -baseline
entries as alias:true (published, not auto-selected); avx2 probes removed.

build-bun now runs cargo + link on one agent (ci-rust-and-link mode):
build.ts does cargo -> poll cpp step outcome (buildkite-agent step get) ->
download cpp artifact -> ninja link -> package. ci.mjs drops getLinkBunStep
and getBuildRustStep; getBuildBunStep emits key=*-build-bun on the per-
target image (not the shared alpine rust box). Saves ~1.5m/platform.

scripts/packer/build-image.pkr.hcl: docker + amazon-ebs sources on
debian-12-slim, runs bootstrap.sh as the provisioner. bootstrap.sh audited
for debian compat (added lsb-release for llvm.sh, qemu-user for apt).

bootstrap.sh v40: install_macos_sdk() fetches xmac.mjs and splats the pinned
MacOSX SDK into /opt/macos-sdk. install_linux_glibc_sysroot() scaffolds
manylinux2014 (glibc 2.17) layer extraction into /opt/linux-sysroot-glibc
(detected by detectLinuxGlibcSysroot() but not yet consumed; --wrap stays
live). Dead install_osxcross removed.

Rust toolchain to nightly-2026-07-20 (folds #34452 + allow for the new
suspicious_runtime_symbol_definitions lint on Global.rs's safe-fn extern).

windows-cross-config and webkit-prebuilt-url source-lints tests updated for
the new baseline default.
robobun added a commit that referenced this pull request Jul 20, 2026
…er, sysroots, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m); main
keeps LTO so canary matches what ships. [lto] opts a PR back in. binary-size
enforces only on [lto] PRs. Tests run on main (minus asan); canary upload
depends on every *-test-bun key. [skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the haswell
-march entry (and rust.ts haswell cpuTarget, and the brotli -fno-lto gate)
is gone. Step keys/labels/artifact names use plain *-x64; computeBunTriplet()
drops the suffix, upload-release.sh re-zips each x64 artifact under the
historical -baseline name (inner dir renamed) for old clients. WebKit
prebuiltSuffix() only appends -baseline for linux(gnu/musl)+windows release/
lto (no macOS/FreeBSD/Android/arm64/-asan/-debug tarball exists). The
runtime binary drops Environment::BASELINE / ENABLE_SIMD (SWAR loop ungated)
/ BUN__GITHUB_BASELINE_URL / bun_warn_avx_missing / version-string suffix /
crash-report char. compile_target keeps its baseline field (user-written
-baseline respected for old-version npm URLs); install.sh/ps1 keep the AVX2
probe for pinned old versions. bun-release platform.ts keeps -baseline
entries as alias:true (published, not auto-selected); avx2 probes removed.

build-bun now runs cargo + link on one agent (ci-rust-and-link mode):
build.ts does cargo -> poll cpp step outcome (buildkite-agent step get) ->
download cpp artifact -> ninja link -> package. ci.mjs drops getLinkBunStep
and getBuildRustStep; getBuildBunStep emits key=*-build-bun on the per-
target image (not the shared alpine rust box). Saves ~1.5m/platform.

scripts/packer/build-image.pkr.hcl: docker + amazon-ebs sources on
debian-12-slim, runs bootstrap.sh as the provisioner. bootstrap.sh audited
for debian compat (added lsb-release for llvm.sh, qemu-user for apt).

bootstrap.sh v40: install_macos_sdk() fetches xmac.mjs and splats the pinned
MacOSX SDK into /opt/macos-sdk. install_linux_glibc_sysroot() scaffolds
manylinux2014 (glibc 2.17) layer extraction into /opt/linux-sysroot-glibc
(detected by detectLinuxGlibcSysroot() but not yet consumed; --wrap stays
live). Dead install_osxcross removed.

Rust toolchain to nightly-2026-07-20 (folds #34452 + allow for the new
suspicious_runtime_symbol_definitions lint on Global.rs's safe-fn extern).

windows-cross-config and webkit-prebuilt-url source-lints tests updated for
the new baseline default.
robobun added a commit that referenced this pull request Jul 20, 2026
…er, sysroots, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m); main
keeps LTO so canary matches what ships. [lto] opts a PR back in. binary-size
enforces only on [lto] PRs. Tests run on main (minus asan); canary upload
depends on every *-test-bun key. [skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the haswell
-march entry (and rust.ts haswell cpuTarget, and the brotli -fno-lto gate)
is gone. Step keys/labels/artifact names use plain *-x64; computeBunTriplet()
drops the suffix, upload-release.sh re-zips each x64 artifact under the
historical -baseline name (inner dir renamed) for old clients. WebKit
prebuiltSuffix() only appends -baseline for linux(gnu/musl)+windows release/
lto (no macOS/FreeBSD/Android/arm64/-asan/-debug tarball exists). The
runtime binary drops Environment::BASELINE / ENABLE_SIMD (SWAR loop ungated)
/ BUN__GITHUB_BASELINE_URL / bun_warn_avx_missing / version-string suffix /
crash-report char. compile_target keeps its baseline field (user-written
-baseline respected for old-version npm URLs); install.sh/ps1 keep the AVX2
probe for pinned old versions. bun-release platform.ts keeps -baseline
entries as alias:true (published, not auto-selected); avx2 probes removed.

build-bun now runs cargo + link on one agent (ci-rust-and-link mode):
build.ts does cargo -> poll cpp step outcome (buildkite-agent step get) ->
download cpp artifact -> ninja link -> package. ci.mjs drops getLinkBunStep
and getBuildRustStep; getBuildBunStep emits key=*-build-bun on the per-
target image (not the shared alpine rust box). Saves ~1.5m/platform.

scripts/packer/build-image.pkr.hcl: docker + amazon-ebs sources on
debian-12-slim, runs bootstrap.sh as the provisioner. bootstrap.sh audited
for debian compat (added lsb-release for llvm.sh, qemu-user for apt).

bootstrap.sh v40: install_macos_sdk() fetches xmac.mjs and splats the pinned
MacOSX SDK into /opt/macos-sdk. install_linux_glibc_sysroot() scaffolds
manylinux2014 (glibc 2.17) layer extraction into /opt/linux-sysroot-glibc
(detected by detectLinuxGlibcSysroot() but not yet consumed; --wrap stays
live). Dead install_osxcross removed.

Rust toolchain to nightly-2026-07-20 (folds #34452 + allow for the new
suspicious_runtime_symbol_definitions lint on Global.rs's safe-fn extern).

windows-cross-config and webkit-prebuilt-url source-lints tests updated for
the new baseline default.
robobun added a commit that referenced this pull request Jul 20, 2026
…er, sysroots, rust 2026-07-20 [build images]

PR builds pass --lto=off (linux link ~15m -> ~1m, darwin ~6m -> ~1m); main
keeps LTO so canary matches what ships. [lto] opts a PR back in. binary-size
enforces only on [lto] PRs. Tests run on main (minus asan); canary upload
depends on every *-test-bun key. [skip tests] on main still releases.

x64 is baseline-only. config.ts defaults baseline=true on x64; the haswell
-march entry (and rust.ts haswell cpuTarget, and the brotli -fno-lto gate)
is gone. Step keys/labels/artifact names use plain *-x64; computeBunTriplet()
drops the suffix, upload-release.sh re-zips each x64 artifact under the
historical -baseline name (inner dir renamed) for old clients. WebKit
prebuiltSuffix() only appends -baseline for linux(gnu/musl)+windows release/
lto (no macOS/FreeBSD/Android/arm64/-asan/-debug tarball exists). The
runtime binary drops Environment::BASELINE / ENABLE_SIMD (SWAR loop ungated)
/ BUN__GITHUB_BASELINE_URL / bun_warn_avx_missing / version-string suffix /
crash-report char. compile_target keeps its baseline field (user-written
-baseline respected for old-version npm URLs); install.sh/ps1 keep the AVX2
probe for pinned old versions. bun-release platform.ts keeps -baseline
entries as alias:true (published, not auto-selected); avx2 probes removed.

build-bun now runs cargo + link on one agent (ci-rust-and-link mode):
build.ts does cargo -> poll cpp step outcome (buildkite-agent step get) ->
download cpp artifact -> ninja link -> package. ci.mjs drops getLinkBunStep
and getBuildRustStep; getBuildBunStep emits key=*-build-bun on the per-
target image (not the shared alpine rust box). Saves ~1.5m/platform.

scripts/packer/build-image.pkr.hcl: docker + amazon-ebs sources on
debian-12-slim, runs bootstrap.sh as the provisioner. bootstrap.sh audited
for debian compat (added lsb-release for llvm.sh, qemu-user for apt).

bootstrap.sh v40: install_macos_sdk() fetches xmac.mjs and splats the pinned
MacOSX SDK into /opt/macos-sdk. install_linux_glibc_sysroot() scaffolds
manylinux2014 (glibc 2.17) layer extraction into /opt/linux-sysroot-glibc
(detected by detectLinuxGlibcSysroot() but not yet consumed; --wrap stays
live). Dead install_osxcross removed.

Rust toolchain to nightly-2026-07-20 (folds #34452 + allow for the new
suspicious_runtime_symbol_definitions lint on Global.rs's safe-fn extern).

windows-cross-config and webkit-prebuilt-url source-lints tests updated for
the new baseline default.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Perf: avoid using chunks_exact* when size is known statically

1 participant