Commit graph

298901 commits

Author SHA1 Message Date
Laurențiu Nicola
1c5de64814 Merge from rust-lang/rust 2025-05-01 10:22:16 +03:00
Laurențiu Nicola
b01b98f9f0 Preparing for merge from rust-lang/rust 2025-05-01 10:21:52 +03:00
Laurențiu Nicola
408232fb51 Update lockfile 2025-05-01 10:21:46 +03:00
Thalia Archibald
0f0c0d8b16 Avoid redundant WTF-8 checks in PathBuf
Eliminate checks for WTF-8 boundaries in `PathBuf::set_extension` and
`add_extension`, where joining WTF-8 surrogate halves is impossible.
Don't convert the `str` to `OsStr`, because `OsString::push` specializes
to skip the joining when given strings.
2025-04-30 23:56:39 -07:00
Thalia Archibald
7cb357a36b Make internal OsString::truncate and extend_from_slice unsafe
Communicate the safety invariants of these methods with `unsafe fn`
rather than privacy.
2025-04-30 23:56:39 -07:00
yanglsh
782c6065c4 fix: unused_async FP on default impl 2025-05-01 14:50:23 +08:00
Lukas Wirth
e7502210ce
Merge pull request #19725 from Veykril/push-xwqzzsklslrq
Bump salsa
2025-05-01 05:38:40 +00:00
Tshepang Mbambo
80758c39eb
add rdg push git config entry for git protocol pushers 2025-05-01 07:38:29 +02:00
Lukas Wirth
a6b8abf341 Bump salsa 2025-05-01 07:27:32 +02:00
Oli Scherer
06e0293495
Merge pull request #4304 from rust-lang/rustup-2025-05-01
Automatic Rustup
2025-05-01 05:27:22 +00:00
Tsukasa OI
eec6cfb8da rustc_target: RISC-V "Zfinx" is incompatible with {ILP32,LP64}[FD] ABIs
Because RISC-V Calling Conventions note that:

> This means code targeting the Zfinx extension always uses the ILP32,
> ILP32E or LP64 integer calling-convention only ABIs as there is no
> dedicated hardware floating-point register file.

{ILP32,LP64}[FD] ABIs with hardware floating-point calling conventions
are incompatible with the "Zfinx" extension.

This commit adds "zfinx" to the incompatible feature list to those ABIs
and tests whether trying to add "zdinx" (that is analogous to "zfinx" but
in double-precision) on a LP64D ABI configuration results in an error
(it also tests extension implication; "Zdinx" requires "Zfinx" extension).

Link: RISC-V psABI specification version 1.0
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/releases/tag/v1.0>
2025-05-01 05:05:47 +00:00
The Miri Cronjob Bot
7adaa50448 fmt 2025-05-01 05:02:17 +00:00
Tshepang Mbambo
bf06eaf7a2
Merge pull request #2367 from rust-lang/rustc-pull
Rustc pull update
2025-05-01 07:01:46 +02:00
The Miri Cronjob Bot
326d77516d Merge from rustc 2025-05-01 05:01:02 +00:00
Tshepang Mbambo
9ce6c52c70
Merge pull request #2368 from martinomburajr/master
Adds 'with' to the bootstrapping docs to help clarify how to build a new compiler
2025-05-01 07:00:21 +02:00
The Miri Cronjob Bot
589200ea5e Preparing for merge from rustc 2025-05-01 04:53:52 +00:00
bors
6e23095adf Auto merge of #140145 - Zoxc:job-server-proxy, r=SparrowLii
Add a jobserver proxy to ensure at least one token is always held

This adds a jobserver proxy to ensure at least one token is always held by `rustc`. Currently with `-Z threads` `rustc` can temporarily give up all its tokens, causing `cargo` to spawn additional `rustc` instances beyond the job limit.

The current behavior causes an issue with `cargo fix` which has a global lock preventing concurrent `rustc` instances, but it also holds a jobserver token, causing a deadlock when `rustc` gives up its token. That is fixed by this PR.

Fixes https://github.com/rust-lang/rust/issues/67385.
Fixes https://github.com/rust-lang/rust/issues/133873.
Fixes https://github.com/rust-lang/rust/issues/140093.
2025-05-01 04:11:52 +00:00
Martin Ombura Jr.
9a3a212dae adds commas 2025-05-01 04:07:27 +00:00
The rustc-dev-guide Cronjob Bot
560de7e512 Merge from rustc 2025-05-01 04:05:49 +00:00
The rustc-dev-guide Cronjob Bot
27eb274233 Preparing for merge from rustc 2025-05-01 04:05:40 +00:00
Martin Ombura Jr.
3e0cbbb899 adds 'with' to help clarify how to build a new compiler 2025-05-01 04:01:42 +00:00
David Tolnay
f27ba892bd
Update hashbrown dependency to unblock ExtractIf improvements 2025-04-30 17:52:10 -07:00
WANG Rui
482ad5c51e Remove redundant min-llvm-version annotations for LoongArch tests 2025-05-01 08:50:14 +08:00
Zachary S
d2068be4a0 Rename (Mapped)(RwLock|Mutex)Guard::try_map to filter_map.
1. analogous to std::cell::Ref(Mut)::filter_map.
2. doesn't imply `Try` genericizability.
2025-04-30 19:43:24 -05:00
Tsukasa OI
501a539bbe rustc_target: RISC-V: Add BF16 extensions
This commit adds three ratified unprivileged RISC-V extensions related to
BFloat16 (BF16) handling.

Although that they are far from stabilization due to ABI issues, they are
optional extensions of the RVA23U64 profile (application-class processor
profile) and going to be discoverable from the Linux kernel
(as of version 6.15-rc4).

This commit mainly prepares runtime detection of those extensions.
2025-05-01 00:13:16 +00:00
Tsukasa OI
c6ed7869a1 rustc_target: RISC-V: Add atomics/memory-related extensions
This commit adds a part of RISC-V extensions that are mandatory part of
the RVA23U64 profile (application-class processor profile) and related to
memory/atomic constraints.

The Zic64b extension constrains the cache line to naturally-aligned 64 bytes
that would make certain memory operations (like zeroing the memory using
the Zicboz extension) easier.

The Zicbom and Zicbop extensions enable managing cache block-based
operations (the Zicbop contains hints that will work as a NOP when this
extension is absent and the Zicbom contains control instructions).

Of which, the Zicbom extension is going to be discoverable from the Linux
kernel (as of the version 6.15-rc4) and this commit prepares for
corresponding stdarch changes.

The Zicc* extensions add certain constraints to "the main memory" (usually
true on the user mode application on the application-class processor but
those extensions make sure such constraints exist).
2025-05-01 00:09:46 +00:00
Tsukasa OI
adb92aeb4a rustc_target: Adjust RISC-V feature implication (Za64rs and Za128rs)
The Za64rs extension (reservation set -- a primitive memory unit of LR/SC
atomic operations -- is naturally aligned and *at most* 64 bytes) is a
superset of the Za128rs extension (*at most* 128 bytes; note that smaller
the reservation set is, more fine grained control over atomics).

This commit handles this as a feature implication.
2025-05-01 00:09:45 +00:00
Sayantan Chakraborty
1157b78d62
Remove avx512dq and avx512vl implication for avx512fp16 2025-05-01 05:37:37 +05:30
bors
0c33fe2c3d Auto merge of #121909 - Zoxc:drop-ast-task, r=petrochenkov
Drop AST on a separate thread and prefetch `hir_crate`

This drop AST on a separate thread and prefetches `hir_crate`.

A `spawn` function is added to the `parallel` module which spawn some work on the Rayon thread pool.
2025-04-30 23:57:22 +00:00
Jason Newcomb
36c3617bb1 Remove is_normalizable. layout_of no longer contains a delay_bug. 2025-04-30 19:31:24 -04:00
Celina G. Val
0f81fca8ec Change rustc_driver dependency on stable_mir crate
This fixes issues with RustAnalyzer not finding stable_mir crate.
It is also part of the long term architecture plan for these crates,
since we are moving towards having stable_mir depend on rustc_smir and
not the other way around.

I believe this is an utility function that will come handy eventually
for stable_mir users, but I'm keeping it as part of rustc_internal since
it initializes the StableMir context and requires `TyCtxt`.

Finally, I added the rustc_internal crate under a feature since the APIs
from this module shall not be stabilized.
2025-04-30 15:39:52 -07:00
bors
b45dd71d18 Auto merge of #140529 - matthiaskrgr:rollup-jpaa2ky, r=matthiaskrgr
Rollup of 10 pull requests

Successful merges:

 - #140385 (Subtree update of `rust-analyzer`)
 - #140458 (Fix for async drop ice with partly dropped tuple)
 - #140465 (chore: edit and move tests)
 - #140467 (Don't FCW assoc consts in patterns)
 - #140468 (Minor tweaks to make some normalization (adjacent) code less confusing)
 - #140470 (CI: rfl: move job forward to Linux v6.15-rc4)
 - #140476 (chore: delete unused ui/auxiliary crates)
 - #140481 (Require sanitizers be enabled for asan_odr_windows.rs)
 - #140486 (rustfmt: Also allow bool literals as first item of let chain)
 - #140494 (Parser: Document restrictions)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-04-30 20:42:22 +00:00
Matthias Krüger
a477172ced
Rollup merge of #140494 - ehuss:document-restrictions, r=traviscross,SparrowLii
Parser: Document restrictions

I had trouble easily understanding what these various flags do. This is my attempt to try to explain what these do.
2025-04-30 22:36:44 +02:00
Matthias Krüger
5cb54f99b4
Rollup merge of #140486 - calebcartwright:rustfmt-let-chain-bool-lit, r=calebcartwright
rustfmt: Also allow bool literals as first item of let chain

This is a functional cherry-pick of https://github.com/rust-lang/rustfmt/pull/6492

I'm bringing this change over directly as the subtree sync is taking more effort than anticipated (some unrelated r-l/rustfmt changes need to be reverted before we perform the full sync) and we need to ensure that rustfmt behavior accounts with the final style guide rules as part of let chain stabilization.

r? ````@ghost````
2025-04-30 22:36:43 +02:00
Matthias Krüger
1ce06013fb
Rollup merge of #140481 - dpaoliello:reqasan, r=wesleywiser
Require sanitizers be enabled for asan_odr_windows.rs

Issue Details:
The `asan_odr_windows.rs` test is failing on AArch64 Windows, as sanitizers aren't supported on that platform.

Fix Details:
Apply the correct "need sanitizer" requirements to the test.
2025-04-30 22:36:43 +02:00
Matthias Krüger
051e94e60c
Rollup merge of #140476 - mejrs:test3, r=jieyouxu
chore: delete unused ui/auxiliary crates

It appears that all the tests that used it have been moved to tests/ui/editions/ (or elsewhere) already.

r? `````@jieyouxu`````
2025-04-30 22:36:42 +02:00
Matthias Krüger
3b84630c19
Rollup merge of #140470 - ojeda:rfl, r=lqd
CI: rfl: move job forward to Linux v6.15-rc4

A hopefully routine upgrade to Linux v6.15-rc4!

r? `````@lqd````` `````@Kobzol`````
try-job: x86_64-rust-for-linux
`````@rustbot````` label A-rust-for-linux
`````@bors````` try
2025-04-30 22:36:41 +02:00
Matthias Krüger
6423d75076
Rollup merge of #140468 - BoxyUwU:normalization_confusings2, r=lcnr
Minor tweaks to make some normalization (adjacent) code less confusing

r? lcnr

sorry for double ping lol
2025-04-30 22:36:41 +02:00
Matthias Krüger
372b15e55e
Rollup merge of #140467 - BoxyUwU:no_fcw_assoc_consts, r=lcnr
Don't FCW assoc consts in patterns

Fixes #140447

See comment in added test. We could also check that the anon const is a const arg by looking at the HIR. I'm not sure that's necessary though 🤔 The only consts that are evaluated "for the type system" are const args (which *should* get FCWs) and const patterns (which cant be anon consts afaik).
2025-04-30 22:36:40 +02:00
Matthias Krüger
6769d32316
Rollup merge of #140465 - mejrs:test2, r=jieyouxu
chore: edit and move tests

I deleted `ui/non-copyable-void.rs`: added in ab4105d9e8 to test that "nonconstructable" enums are "noncopyable", but these properties are not correlated anymore.

Second commit is kinda messy because I moved/edited/renamed some files at the same time, but I deleted nothing there.
2025-04-30 22:36:40 +02:00
Matthias Krüger
3648f3aa77
Rollup merge of #140458 - azhogin:azhogin/async-drop-fix-dropped-tuple-ice, r=oli-obk
Fix for async drop ice with partly dropped tuple

Fixes https://github.com/rust-lang/rust/issues/140427.
Problem was with block data access with block id from new added blocks in patch.
2025-04-30 22:36:39 +02:00
Matthias Krüger
f8f4d2d82a
Rollup merge of #140385 - lnicola:sync-from-ra, r=Veykril
Subtree update of `rust-analyzer`

r? ````@ghost````
2025-04-30 22:36:38 +02:00
Natrix
b735dce5a6 docs: Specify that common sort functions sort in an ascending direction 2025-04-30 20:25:47 +02:00
antoyo
337998abb2
Merge pull request #657 from rust-lang/feature/more-calling-conv-attributes
Support more calling convention attributes
2025-04-30 14:14:07 -04:00
Michael Goulet
f2930001aa Use select in projection lookup 2025-04-30 18:07:52 +00:00
Antoni Boucher
6fad1bac72 Support more calling convention attributes 2025-04-30 13:51:52 -04:00
bors
251cda5e1f Auto merge of #140520 - matthiaskrgr:rollup-7aoqcnp, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #134232 (Share the naked asm impl between cg_ssa and cg_clif)
 - #139624 (Don't allow flattened format_args in const.)
 - #140090 (Check bare function idents for non snake-case name)
 - #140203 (Issue an error when using `no_mangle` on language items)
 - #140450 (ast: Remove token visiting from AST visitor)
 - #140498 (Misc tweaks to HIR typeck (mostly w.r.t. checking calls))
 - #140504 (transmutability: ensure_sufficient_stack when answering query)
 - #140506 (unstable-book: fix capitalization)
 - #140516 (Replace use of rustc_type_ir by rustc_middle)

Failed merges:

 - #140374 (Resolve instance for SymFn in global/naked asm)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-04-30 17:15:51 +00:00
Ralf Jung
00f25a8e1c interpret: better error message for out-of-bounds pointer arithmetic and accesses 2025-04-30 18:45:41 +02:00
Mathis B
e83a0a4bbe Stabilize #![feature(non_null_from_ref)] 2025-04-30 17:54:07 +02:00
Jason Newcomb
d9c060b88b Optimize the codegen for Span::from_expansion 2025-04-30 11:38:09 -04:00