update to rustc 1.99.0 - #630
Conversation
|
Further bump would be nice, And for me personally unmerged PRs are not that useful since I can't rely on commits that can disappear any time. |
|
afaik github never deletes commits (except when explicitly requested), so any hashes you grab from a repo will always remain valid, even if this PR is rebased. |
|
RESOLVED The version I just pushed is completely broken after Upstream commit rust-lang/rust@d93df7f is causing the breakage, even though it looks completely innocent cleanup. Instead of asking the codegen backend for whether some value is an immediate or scalar pair, it removes those APIs to instead just query it directly from But all compiles are failing with an ICE here: This function wasn't changed in the mentioned commit. But if you look at the match statement: let (in_scalar, imm) = match (self.val, self.layout.backend_repr) {
// Extract a scalar component from a pair.
(
OperandValue::Pair(a_llval, b_llval),
BackendRepr::ScalarPair { a, b, b_offset },
) => {The issue is that we have an // FIXME(eddyb) detect `#[rust_gpu::vector::v1]` more specifically,
// to avoid affecting anything should actually be passed as a pair.
if let PassMode::Pair(..) = arg.mode {
// HACK(eddyb) this avoids breaking e.g. `&[T]` pairs.
if let TyKind::Adt(..) = arg.layout.ty.kind() {
arg.mode = PassMode::Direct(ArgAttributes::new());
}
}EDIT: was added in PR #437 Removing that makes it "work" again, with around 50 compiletest failing on function calls, so removing this isn't trivial. But may very well be necessary going forward, as we're hit problems due to this patching many times. So going forward we could:
|
ce69403 to
f6c4e70
比较
9114d74 to
ee18608
比较
|
@nazar-pc fixed the issues, feel free to give it a try! I know compiletests are failing, with the new build dir structure our compiletest infra can't find the dependent libs anymore and needs to be adjusted. I've been able to test everything apart from the last commit in this PR, there may be dragons! |
1fe7242 to
19a94b9
比较
|
|
|
There is (for now) |
|
I've seen that flag in rust-lang/rust's history, not sure how long they'll support that flag. Updating to the new layout shouldn't be too hard anyway. |
|
Just tried e720714, it worked for me |
80b7706 to
49e4982
比较
Requires #612 #640 #642
Warning
This is an in-the-middle nightly
Notes: