-
Notifications
You must be signed in to change notification settings - Fork 405
Automatic Rustup #4662
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
Automatic Rustup #4662
Conversation
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 73e6c9ebd9123154a196300ef58e30ec8928e74e Filtered ref: e8bb3cae4cd2b04bdc252cdf79102717db2b2d8d Upstream diff: rust-lang/rust@32e7a4b...73e6c9e This merge was created using https://github.com/rust-lang/josh-sync.
rustc-pull
it is no longer used (and was also incorrect)
ci: add runners for vanilla LLVM 21 Ubuntu 25.10 has `llvm-21` packages that we can test with. The `Dockerfile` is otherwise the same as the `llvm-20` runners.
rustc_codegen: fix musttail returns for cast/indirect ABIs Fixes rust-lang/rust#148239 rust-lang/rust#144986 Explicit tail calls trigger `bug!` for any callee whose ABI returns via `PassMode::Cast`, and we forgot to to forward the hidden `sret` out-pointer when the ABI requested an indirect return. The former causes ICE, the latter produced malformed IR (wrong codegen) if the return value is large enough to need `sret`. Updated the musttail helper to accept cast-mode returns, made it so that we pass the return pointer through the tail-call path. Added two UI tests to demonstrate each case. This is my first time contributing, please do check if I did it right. r? theemathas
…eLapkin Remove a special case and move another one out of reachable_non_generics One is no longer necessary, the other is best placed in cg_llvm as it works around a cg_llvm bug.
Point at inner item when it uses generic type param from outer item or `Self` Partially address rust-lang/rust#37892. In E0401 generated in resolve: ``` error[E0401]: can't use generic parameters from outer item --> $DIR/E0401.rs:4:39 | LL | fn foo<T>(x: T) { | - type parameter from outer item LL | fn bfnr<U, V: Baz<U>, W: Fn()>(y: T) { | ---- ^ use of generic parameter from outer item | | | generic parameter used in this inner function | help: try introducing a local generic parameter here | LL | fn bfnr<T, U, V: Baz<U>, W: Fn()>(y: T) { | ++ ``` In E0401 generated in hir_typeck: ``` error[E0401]: can't reference `Self` constructor from outer item --> $DIR/do-not-ice-on-note_and_explain.rs:6:13 | LL | impl<B> A<B> { | ------------ the inner item doesn't inherit generics from this impl, so `Self` is invalid to reference LL | fn d() { LL | fn d() { | - `Self` used in this inner item LL | Self(1) | ^^^^ help: replace `Self` with the actual type: `A` ```
Rollup of 5 pull requests Successful merges: - rust-lang/rust#144194 (Provide additional context to errors involving const traits) - rust-lang/rust#148232 (ci: add runners for vanilla LLVM 21) - rust-lang/rust#148240 (rustc_codegen: fix musttail returns for cast/indirect ABIs) - rust-lang/rust#148247 (Remove a special case and move another one out of reachable_non_generics) - rust-lang/rust#148370 (Point at inner item when it uses generic type param from outer item or `Self`) r? `@ghost` `@rustbot` modify labels: rollup
add SliceIndex wrapper types Last and Clamp<Idx> Tracking issue: rust-lang/rust#146179
…, r=scottmcm Make explicit that `TypeId`'s layout and size are unstable Or worded differently, explicitly remark non-stable-guarantee of `TypeId` layout and size. This PR makes no *additional* guarantees or non-guarantees, it only emphasizes that `TypeId`'s size and layout are unstable like any other `#[repr(Rust)]` types. This was discussed during [#t-compiler/meetings > [weekly] 2025-10-30 @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202025-10-30/near/547949347), where the compiler team discussed a request rust-lang/rust#148265 to have the standard library (and language) commit to `TypeId` guaranteeing a size upper bound of 16 bytes. In the meeting, the consensus was: - We were sympathetic to the use case discussed in the request PR, however we feel like this stability guarantee is premature, given that there are unresolved questions surrounding the intended purpose of `TypeId`, and concerns surrounding its collision-resistance properties rust-lang/rust#10389 and rust-lang/rust#129014. We would prefer not making any of such guarantee until the collision-resistance concerns are resolved. - Committing to a stability guarantee on the size upper bound now would close the door to making `TypeId` larger (even if unlikely for perf reasons). Given that we have previously broken people who asserted the size of `TypeId` is 8 bytes, it was also discussed in the meeting that we should *explicitly* note that the size and layout of `TypeId` is not a stable guarantee, and is subject to changes between Rust releases, and thus cannot be relied upon -- if breakage in people's code is due to that assumption, it will be considered a won't-fix. - So even if `#[repr(Rust)]` types have unstable size and layout, this PR makes it explicit for `TypeId` since this type can feel "special" and users can be lead into thinking its size and layout is something they can rely upon. r? `@scottmcm` (or libs/libs-api/lang)
stdarch subtree update Subtree update of `stdarch` to rust-lang/stdarch@b5c1645. Created using https://github.com/rust-lang/josh-sync. r? `@sayantn` --- Only the last 2 commits contain manual changes to some incorrect miri tests. The remainder is mechanical, and just synchronizes changes from stdarch.
Rollup of 3 pull requests Successful merges: - rust-lang/rust#146260 (add SliceIndex wrapper types Last and Clamp<Idx>) - rust-lang/rust#148394 (Make explicit that `TypeId`'s layout and size are unstable) - rust-lang/rust#148402 (stdarch subtree update) r? `@ghost` `@rustbot` modify labels: rollup
tests: activate misspelled `gdb-check` in `function-arg-initialization.rs` In 9253e1206e91f5bd7 a bunch of `gdbr-check` (for `rust-gdb`) directives and `gdbg-check` (for plain `gdb`) directives were added. But in two places the author accidentally wrote `gdbt-check` instead (`t` is next to `r` on the keyboard). This commit fixes that typo. rust-lang/rust#129218 later renamed `gdbr-check` to just `gdb-check` which is why we rename to `gdb-check` directly. The test still passes locally for me after the change, but fails if I change the `gdb-check` checks to check for some other string, so the check seems to still perform its intended function. Note that we need to add a `std::hint::black_box()` to avoid $4 = <optimized out> prints on at least `aarch64-gnu-llvm-20-1`. After this there are no more instances of the string `gdbt` in the code base: ```console $ git grep gdbt ``` try-job: dist-i586-gnu-i586-i686-musl
Add FileCheck annotations to mir-opt/copy-prop This resolves a part of rust-lang/rust#116971 . This PR adds FileCheck annotations to test files under mir-opt/copy-prop.
Give correct suggestion for a typo in raw pointers This adds a check for when user wrote `const* T` instead of `*const T`, I just saw how a C-person made this typo and compiler suggests this ```rust --> src/main.rs:2:17 | 2 | let p: const* u8 = 0 as _; | ^ | help: add `mut` or `const` here | 2 | let p: const*mut u8 = 0 as _; | +++ 2 | let p: const*const u8 = 0 as _; | +++++ ``` which is very incorrect also fixes rust-lang/rust#136602 r? compiler
Port the remaining SIMD intrinsics to const-eval successor to rust-lang/rust#146568, this refactors some implementations and ports the implementation of `simd_fma` and `simd_relaxed_fma`to `rustc_const_eval` Also adds some remaining f16/f128 support in these intrinsics r? `@RalfJung`
…meGomez rustdoc: Use configured target modifiers when collecting doctests To support loading dependencies with target modifiers and avoid ABI mismatch errors. Fixes rust-lang/rust#146465.
Prepare to move debugger discovery from compiletest to bootstrap For a while I've been wanting to move debugger discovery out of compiletest and into bootstrap, so that bootstrap would be responsible for deciding which debugger to use, and compiletest would faithfully use that debugger with no extra magic (and no horrible config-duplicating hacks). Making that change is complicated, and eventually I had so many intertwined preparatory changes that I split them off into this PR, so that it can be reviewed and tested as a smaller chunk. --- To avoid scope creep, the changes in this PR try to move code as-is as much as possible, even if the moved code could arguably benefit from further cleanups. And in many cases, that code will need to be further overhauled anyway when discovery steps are actually moved out of compiletest.
…eGomez rustdoc: fix `--emit=dep-info` on scraped examples Makes sure both stages (the scraping process itself, and the doc build) emit complete dependency lists. CC rust-lang/rust#146220 Part of rust-lang/rust#83784
Remove double check when decoding ExpnId to avoid races Fixes debug assertion failure as described in rust-lang/rust#141540 (comment) Essentially failure happens during the race while decoding one `ExpnId` from different threads. This ICE doesn't happen with single threaded thread_pool due to early return within `decode_expn_id` with the same condition: https://github.com/rust-lang/rust/blob/8205e6b75ec656305ac235d4726d2c7a1ddcef14/compiler/rustc_middle/src/query/on_disk_cache.rs#L605-L607 However I believe this race does not hurt because `register_expn_id` is pretty much idempotent: https://github.com/rust-lang/rust/blob/8205e6b75ec656305ac235d4726d2c7a1ddcef14/compiler/rustc_span/src/hygiene.rs#L1397-L1413
Fix documentation for std::panic::update_hook The equivalent code given in the documentation of `std::panic::update_hook`[^1] does not compile: * `set_hook` expects a boxed function * Missing closing delimiter for the closure [^1]: rust-lang/rust#92649
Rollup of 8 pull requests Successful merges: - rust-lang/rust#135099 (Add FileCheck annotations to mir-opt/copy-prop) - rust-lang/rust#145903 (Give correct suggestion for a typo in raw pointers) - rust-lang/rust#147520 (Port the remaining SIMD intrinsics to const-eval) - rust-lang/rust#148068 (rustdoc: Use configured target modifiers when collecting doctests) - rust-lang/rust#148099 (Prepare to move debugger discovery from compiletest to bootstrap) - rust-lang/rust#148268 (rustdoc: fix `--emit=dep-info` on scraped examples) - rust-lang/rust#148306 (Remove double check when decoding ExpnId to avoid races) - rust-lang/rust#148378 (Fix documentation for std::panic::update_hook) r? `@ghost` `@rustbot` modify labels: rollup
…ouwer,davidtwco Add LLVM range attributes to slice length parameters It'll take a bunch more work to do this in layout -- because of cycles in `struct Foo<'a>(&'a Foo<'a>);` -- so until we figure out how to do that well, just look for slices specifically and add the proper range for the length.
This updates the rust-version file to 5f9dd05862d2e4bceb3be1031b6c936e35671501.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 5f9dd05862d2e4bceb3be1031b6c936e35671501 Filtered ref: 0498b26 Upstream diff: rust-lang/rust@c5dabe8...5f9dd05 This merge was created using https://github.com/rust-lang/josh-sync.
|
Thank you for contributing to Miri! |
|
wasi got broken by rust-lang/rust#148363. I clearly don't understand that target.^^ It was a mistake to try and support it by myself, I don't have the time to dig into its oddities. So I will remove it for now; we can always re-add it when someone shows up who knows the target and wants to help support it in Miri. |
c427632 to
c38128b
Compare
Merge ref '5f9dd05862d2' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: 5f9dd05862d2e4bceb3be1031b6c936e35671501
Filtered ref: 0498b26
Upstream diff: rust-lang/rust@c5dabe8...5f9dd05
This merge was created using https://github.com/rust-lang/josh-sync.