-
Notifications
You must be signed in to change notification settings - Fork 82
Update toolchain to latest nightly (Nov 13) #460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
dvdplm
wants to merge
22
commits into
Rust-GPU:main
Choose a base branch
from
dvdplm:update-toolchain-Nov-02-2025
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+3,817
−4,039
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- We now get warnings about unnecessary parentheses around `dyn` types. - Spelling of `sf.name.prefer_remapped_unconditionaly` was fixed (now ends in `lly`). - `Pointer::into_parts` has been replaced with `Pointer::prov_and_relative_offset`.
- `BuilderMethods::dynamic_alloca` was removed.
- `TargetDataLayout::pointer_{size,align}` were changed from fields to
methods.
- `AddressSpace::DATA` was renamed `AddressSpace::ZERO`.
- `run_fat_lto`, `optimize_fat`, and `autodiff` were merged into `run_and_optimize_fat_lto`, and the parameters were changed. - `run_thin_lto` parameters were changed. - `codegen` parameters were changed. - `LtoModuleCodegen` was removed. - Minor error message changes: - Some line number changes in rustc. - Some error message wording tweaks. The LTO changes occurred in rust-lang/rust PR 143388 and PR 144062.
- `tcx.get_attrs_unchecked(...)` was replaced with `tcx.get_all_attrs(...)`. - `run_link` has been removed. - `BuilderMethods::tail_call` was added. It's currently `todo!()`. - Adjust expected test outputs for very minor error message formatting changes. - And update to glam 0.30.8.
This reverts commit 42dc34a.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Based on @nnethercote's work in #420, but with a more recent toolchain.
The toolchain update from
nightly-2025-06-30tonightly-2025-11-13uncovered a slew of minor incompatibilities and a major(?) ABI issue:rustc_target::callconv::PassModehandling in function ABIs changed upstream. The bulk of that work happened in #144529 with the introduction of the new internal#[rustc_pass_indirectly_in_non_rustic_abis]attribute.This change causes an ICE when we run the compiletests from
rust-gpuwith, e.g.cargo run -p compiletests --no-default-features --features "use-installed-tools" typed_buffer.rs -- --target-env vulkan1.1,vulkan1.2,vulkan1.3,vulkan1.4,spv1.3. The assertion we hit when compilingcoreis here:The assertion fires in our query hook (abi.rs:104) when calling the default provider's
fn_abi_of_instance, which now runs the new sanity check from PR #144529.rust-gpuconvertsextern "C"toextern "unadjusted"(line 47 in abi.rs), then attempts to force all arguments toPassMode::Directviareadjust_fn_abi()(line 68). However, PR #144529 introduced a new invariant that requires certain types marked with#[rustc_pass_indirectly_in_non_rustic_abis]to be passed indirectly, even in unadjusted ABIs.Example ICE output (Click to view)
I have a suspicion that this change is involved, but I have to admit that making
rust-gpuwork with a locally builtrustchas been quite challenging!The other changes in this PR are simple adjustments and tweaks to accommodate for upstream changes. I suspect that some of my hack-fixes here do not actually work, but it's hard to tell with the ICE in the way.