Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Rustc pull update #2625

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

Merged
tshepang merged 76 commits into main from rustc-pull
Nov 3, 2025
Merged

Rustc pull update #2625

tshepang merged 76 commits into main from rustc-pull
Nov 3, 2025

Conversation

@workflows-rustc-dev-guide
Copy link

@workflows-rustc-dev-guide workflows-rustc-dev-guide bot commented Nov 3, 2025

Latest update from rustc.

The rustc-josh-sync Cronjob Bot and others added 30 commits September 25, 2025 04:16
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: caccb4d0368bd918ef6668af8e13834d07040417
Filtered ref: 0f345ed05d559bbfb754f1403b16199366cda2e0
Upstream diff: rust-lang/rust@21a19c2...caccb4d
This merge was created using https://github.com/rust-lang/josh-sync.
Remove non-ns version of impl_self_ty and impl_trait
...-ret
Add let-chain support for convert_to_guarded_return
Add applicable on bang `!` for apply_demorgan
Allow `&raw [mut | const]` for union field
...cro-by-example
Fix negative integer literals in const generics in declarative macro context
fix: Prevent rustup from automatically installing toolchains
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: fb24b04b096a980bffd80154f6aba22fd07cb3d9
Filtered ref: 8d328b994c70dfeed12717a13a915703ec939cfc
Upstream diff: rust-lang/rust@3369e82...fb24b04
This merge was created using https://github.com/rust-lang/josh-sync.
minor: Fix creating `rust-analyzer/rust-analyzer` under target-dir
Fix compile error in `crates/cfg` tests due to `tt` feature
...nterner
Use FileId::MAX for id assertion in PathInterner::intern
Migrate `add_braces` assist, because edit_in_place uses ted
Migrate `add_missing_match_arms` assist, because edit_in_place uses ted
Fix let-expr in lhs for convert_to_guarded_return
Fix shorthand field pat for destructure_tuple_binding
Fix extract multiple item in impl for extract_module
bors and others added 26 commits October 28, 2025 13:25
Update cc-rs to 1.2.39
For my purposes, contains fixes when compiling the Rust compiler for Arm64EC.
Checked the commits since 1.2.16, and I don't see anything else that may affect Rust?
`find-msvc-tools` was also factored out from `cc` to allow updating the use in `rustc_codegen_ssa` (finding the linker when running the Rust compiler) to be separate from the use in `rustc_llvm` (building LLVM as part of the Rust compiler).
Accept trivial consts based on trivial consts
This is an expansion of rust-lang/rust#148040.
The previous implementation only accepted trivial consts that assign a literal. For example:
```rust
const A: usize = 0;
const B: usize = A;
```
Before this PR, only `A` was a trivial const. Now `B` is too.
perf: removed unnecessary let for return only in layout.rs
perf: removed unnecessary let for return only
Constify trait aliases
Allow `const trait Foo = Bar + [const] Baz;` trait alias declarations. Their rules are the same as with super traits of const traits. So `[const] Baz` or `const Baz` is only required for `[const] Foo` or `const Foo` bounds respectively.
tracking issue rust-lang/rust#41517 (part of the general trait alias feature gate, but I can split it out into a separate const trait alias feature gate. I just assumed that const traits would stabilize before trait aliases, and we'd want to stabilize trait aliases together with const trait aliases at the same time)
r? ``@compiler-errors`` ``@fee1-dead``
...bzol
Add new `--bypass-ignore-backends` option
Fixes rust-lang/rust#147063.
It adds a new option to `bootstrap` to allow to ignore `//@ ignore-backends` statements in tests.
cc ```@jieyouxu``` ```@antoyo```
r? ```@Kobzol```
...ethercote
Improve diagnose for unconditional panic when resource limit
Improve diagnostic message for similar issue rust-lang/rust#115021.
When `parallel_compiler=true`, the Rust compiler frontend sets `-Z threads` to match the number of cores, which is reasonable and common. However, in a constrained environment or with an excessive number of cores (such as 377 mentioned below 😑), it could consume all resources and cause a panic.
Setting a default maximum for `-Z threads` in a parallel compiler is challenging. However, the panic error message can guide the user to check the system limit and explicitly lower the thread count according to their needs.
```
14:55:47 thread 'main' panicked at /rustc/f1586001ace26df7cafeb6534eaf76fb2c5513e5/compiler/rustc_interface/src/util.rs:216:18:
14:55:47 called `Result::unwrap()` on an `Err` value: ThreadPoolBuildError { kind: IOError(Os { code: 11, kind: WouldBlock, message: "Resource temporarily unavailable" }) }
...
14:55:47 note: compiler flags: --crate-type lib -C opt-level=z -C embed-bitcode=no -C linker=/cache/84996/rust-sdk/target/shim/aarch64-unknown-linux-ohos/clang -Z unstable-options -C symbol-mangling-version=v0 -Z panic-in-drop=abort -C codegen-units=1 -C debuginfo=1 -C embed-bitcode=yes -Z threads=377 -C link-arg=-Wl,--build-id=sha1 -Z binary-dep-depinfo
```
...hercote
Fix types being marked as dead when they are inferred generic arguments
Previously usages of a type in a pattern were ignored. This is incorrect, since if the type is in a pattern we're clearly producing it in the expression we're matching against.
I think this `in_pat` check was meant to be only for variants, which we should indeed ignore since we can just remove the match arm that matches the pattern. Please double check my logic here since this is my first time touching the dead-code pass and I'm not 100% sure this is what the `self.in_pat` check was for.
Fixes rust-lang/rust#148144 
Rollup of 4 pull requests
Successful merges:
 - rust-lang/rust#144291 (Constify trait aliases)
 - rust-lang/rust#147633 (Add new `--bypass-ignore-backends` option)
 - rust-lang/rust#148252 (Improve diagnose for unconditional panic when resource limit)
 - rust-lang/rust#148262 (Fix types being marked as dead when they are inferred generic arguments)
r? `@ghost`
`@rustbot` modify labels: rollup
Adjust successor iterators.
Because rust-lang/rust#148054 was a slight perf regression.
The problem was seemingly because this iterator structure:
```
slice_iter.chain(Option_iter.chain(Option_iter))
```
changed to this:
```
slice_iter.chain(Option_iter).chain(Option_iter)
```
The commit also tweaks the `slice_iter` part, changing `into_iter` to `iter` and using `[]` instead of `(&[])`, for conciseness and consistency.
r? `@saethlin`
Return `Option` from `exact_div` and inherit overflow checks
According to rust-lang/rust#139911 (comment), `exact_div` should return `Option::None` if `self % rhs != 0`, panic if `rhs == 0`, and handle overflow conditionally (panic in debug, wrap in release).
rust-lang/rust#147771 should rename `exact_div` to `div_exact`.
Constify Range functions
Constify various `Range` traits, functions, and implementations
Add `is_ascii` function optimized for LoongArch64 for [u8]
Similar to x86_64, on LoongArch64 we use the `vmskltz.b` instruction to test the high bit in a lane.
For longer input cases, the performance improvement is significant. For unaligned cases close to 32 bytes in length, there's some regression, but it seems acceptable.
| core benches (MB/s) | Before | After | % |
|--------------------------------------------------------|--------|--------|---------|
| ascii::is_ascii::short::case00_libcore | 1000 | 1000 | 0.00 |
| ascii::is_ascii::medium::case00_libcore | 8000 | 8000 | 0.00 |
| ascii::is_ascii::long::case00_libcore | 183947 | 436875 | +137.50 |
| ascii::is_ascii::unaligned_head_medium::case00_libcore | 7750 | 2818 | -63.64 |
| ascii::is_ascii::unaligned_head_long::case00_libcore | 317681 | 436812 | +37.50 |
| ascii::is_ascii::unaligned_tail_medium::case00_libcore | 7750 | 3444 | -55.56 |
| ascii::is_ascii::unaligned_tail_long::case00_libcore | 155311 | 436812 | +181.25 |
| ascii::is_ascii::unaligned_both_medium::case00_libcore | 7500 | 3333 | -55.56 |
| ascii::is_ascii::unaligned_both_long::case00_libcore | 174700 | 436750 | +150.00 |
...ulacrum
std: don't leak the thread closure if destroying the thread attributes fails
The comment about double-free is wrong – we can safely drop both the thread attributes and the thread closure. Here, I've used `DropGuard` for the attributes and moved the `Box::into_raw` to just before the `pthread_create`.
Ignore unix socket related tests for VxWorks
Unix Sockets are not implemented in VxWorks, and therefore, ignore testcases related to UnixDatagram, UnixListener and UnixStream.
...oieni
Generalize branch references
It should be safe to merge this before the rename, and I'd like to do that, so we can test if beta/stable PRs work.
r? ``@marcoieni``
Fix suggestion when there were a colon already in generics
Finally found time to fix rust-lang/rust#144215
I don't feel like this `colon_flag` is perfect solution and that it can be refactored, but I'd say that this is pretty good as it, I was tried to refactor this a little, but the thing is the scope where `param.colon_span` lives is very limited, so there is not much time to check was there colon or not, I tried to rewrite this into more functional style to address this, but it becomes way more unreadable than this one or even less performant, maybe some comments could push readability of this fix further, maybe a comment for enum or `colon_flag`?
compiletest: rename `add-core-stubs`/`core-stubs-compile-flags` to `add-minicore`/`minicore-compile-flags`
Fixes rust-lang/rust#148282 
Rollup of 7 pull requests
Successful merges:
 - rust-lang/rust#146573 (Constify Range functions)
 - rust-lang/rust#146699 (Add `is_ascii` function optimized for LoongArch64 for [u8])
 - rust-lang/rust#148026 (std: don't leak the thread closure if destroying the thread attributes fails)
 - rust-lang/rust#148135 (Ignore unix socket related tests for VxWorks)
 - rust-lang/rust#148211 (clippy fixes and code simplification)
 - rust-lang/rust#148395 (Generalize branch references)
 - rust-lang/rust#148405 (Fix suggestion when there were a colon already in generics)
r? `@ghost`
`@rustbot` modify labels: rollup
This updates the rust-version file to c5dabe8cf798123087d094f06417f5a767ca73e8.
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: c5dabe8cf798123087d094f06417f5a767ca73e8
Filtered ref: d867ed0
Upstream diff: rust-lang/rust@b1b464d...c5dabe8
This merge was created using https://github.com/rust-lang/josh-sync.
Copy link
Collaborator

rustbot commented Nov 3, 2025

Thanks for the PR. If you have write access, feel free to merge this PR if it does not need reviews. You can request a review using r? rustc-dev-guide or r? <username>.

@rustbot rustbot added the S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content label Nov 3, 2025
@tshepang tshepang merged commit 1687875 into main Nov 3, 2025
1 check passed
@rustbot rustbot removed the S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content label Nov 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /