about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-09-12Rollup merge of #146449 - Kobzol:gcc-fix-symlink, r=GuillaumeGomezStuart Cook-1/+13
Fix `libgccjit` symlink when we build GCC locally Unblocks https://github.com/rust-lang/rust/pull/146414. r? ```@GuillaumeGomez```
2025-09-12Rollup merge of #146448 - GuillaumeGomez:fix-literal-search-paths, ↵Stuart Cook-2/+34
r=lolbinarycat [rustdoc] Correctly handle literal search on paths Fixes https://github.com/rust-lang/rust/issues/146129. cc ```@notriddle``` r? ```@lolbinarycat```
2025-09-12Rollup merge of #146439 - connortsui20:fix-sync-macro-attr, r=RalfJungStuart Cook-12/+15
fix cfg for poison test macro Fixes test regression in https://github.com/rust-lang/rust/pull/144648 Continuation of https://github.com/rust-lang/rust/pull/146433 I think this is right? Not really sure how to test this myself to be honest. r? ```@RalfJung``` I'll also leave the improvement to the test macro for a separate PR (described [here](https://github.com/rust-lang/rust/pull/146433#issuecomment-3280210451)) since I've never done something like that before. Though since this fixes all of the tests, it might not be necessary since anyone in the future will see the `cfg()` and not `cfg_attr()`?
2025-09-12Rollup merge of #146435 - Kobzol:gcc-download-default-true, r=GuillaumeGomezStuart Cook-1/+10
Change the default value of `gcc.download-ci-gcc` to `true` It makes sense for the vast majority of uses (https://github.com/rust-lang/rustc-dev-guide/pull/2587#discussion_r2337374719). r? ```@GuillaumeGomez```
2025-09-12Rollup merge of #146433 - RalfJung:rwlock-miri, r=tgross35Stuart Cook-3/+3
rwlock tests: fix miri macos test regression https://github.com/rust-lang/rust/pull/144648 broke the attributes that ignore the tests on Miri; this patch should fix that.
2025-09-12Rollup merge of #146432 - hermit-os:hermit-take_error, r=joboetStuart Cook-2/+3
Implement `Socket::take_error` for Hermit This PR fixes an unused-imports compilation error introduced in 845311a065a5638c516ed96c73b09862b176b329 and implements `Socket::take_error` for Hermit. Hermit's `Socket::take_error` implementation works exactly like the one for Unix. r? joboet
2025-09-12Rollup merge of #146426 - dpaoliello:miow, r=lqdStuart Cook-69/+3
Bump miow to 0.60.1 Updates the `miow` crate to 0.60.1, which removes the final use of `windows-sys` 0.48.0.
2025-09-12Rollup merge of #146413 - GuillaumeGomez:rustdoc-bare-urls, r=lolbinarycatStuart Cook-19/+136
Improve suggestion in case a bare URL is surrounded by brackets Fixes https://github.com/rust-lang/rust/issues/146162. With this change, output looks like this: ``` | 1 | //! [https://github.com] | ^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://github.com>` | = note: bare URLs are not automatically turned into clickable links = note: `#[warn(rustdoc::bare_urls)]` on by default ``` cc ```@fmease``` r? ```@lolbinarycat```
2025-09-12Rollup merge of #146374 - GuillaumeGomez:update-browser-ui-test, ↵Stuart Cook-5/+5
r=GuillaumeGomez Update `browser-ui-test` version to `0.22.2` Mostly some internal improvements and new commands (like `store-count`). r? ```@lolbinarycat```
2025-09-12Rollup merge of #146332 - lolbinarycat:tidy-extra-checks-regularize, r=KobzolStuart Cook-13/+45
tidy: make behavior of extra-checks more uniform
2025-09-12Rollup merge of #146323 - h3fang:issue-146230-fix, r=AmanieuStuart Cook-33/+44
check before test for hardware capabilites in bits 32~63 of usize This commit tries to fix https://github.com/rust-lang/rust/issues/146230. `std::arch::is_aarch64_feature_detected` panics on aarch64 ILP32 targets. After some digging, the real problem is https://github.com/rust-lang/rust/blob/91edc3ebccc4daa46c20a93f4709862376da1fdd/library/std_detect/src/detect/os/linux/aarch64.rs#L210-L241 checks bits 32~63 of usize unconditionally on normal aarch64 LP64 target and aarch64 ILP32 target. Here I propose to move these to a block guarded by `#[cfg(target_pointer_width="64")]`. See rust-lang/rust#146230 for more detailed analysis. r? ```@Amanieu```
2025-09-12Rollup merge of #146308 - cyrgani:concat-integer-literals, r=jackh726Stuart Cook-24/+62
support integer literals in `${concat()}` Tracking issue: rust-lang/rust#124225 Adds support for using integer literals as arguments to `${concat()}` macro expressions. Integer formatting such as `1_000` is preserved by this.
2025-09-12Rollup merge of #145895 - RalfJung:unpark, r=joboetStuart Cook-16/+60
thread parking: fix docs and examples Fixes https://github.com/rust-lang/rust/issues/145816 r? ```@joboet``` Cc ```@m-ou-se``` ```@Amanieu```
2025-09-12Rollup merge of #144549 - folkertdev:va-arg-arm, r=saethlinStuart Cook-1/+67
match clang's `va_arg` assembly on arm targets tracking issue: https://github.com/rust-lang/rust/issues/44930 For this example ```rust #![feature(c_variadic)] #[unsafe(no_mangle)] unsafe extern "C" fn variadic(a: f64, mut args: ...) -> f64 { let b = args.arg::<f64>(); let c = args.arg::<f64>(); a + b + c } ``` We currently generate (via llvm): ```asm variadic: sub sp, sp, #12 stmib sp, {r2, r3} vmov d0, r0, r1 add r0, sp, #4 vldr d1, [sp, #4] add r0, r0, #15 bic r0, r0, #7 vadd.f64 d0, d0, d1 add r1, r0, #8 str r1, [sp] vldr d1, [r0] vadd.f64 d0, d0, d1 vmov r0, r1, d0 add sp, sp, #12 bx lr ``` LLVM is not doing a good job. In fact, it's well-known that LLVM's implementation of `va_arg` is kind of bad, and we implement it ourselves (based on clang) for many targets already. For arm, our own `emit_ptr_va_arg` saves 3 instructions. Next, it turns out it's important for LLVM to explicitly start and end the lifetime of the `va_list`. In https://github.com/rust-lang/rust/pull/146059 I already end the lifetime, but when looking at this again, I noticed that it is important to also start it, see https://godbolt.org/z/EGqvKTTsK: failing to explicitly start the lifetime uses an extra register. So, the combination of `emit_ptr_va_arg` with starting/ending the lifetime makes rustc emit exactly the instructions that clang generates:: ```asm variadic: sub sp, sp, #12 stmib sp, {r2, r3} vmov d16, r0, r1 vldr d17, [sp, #4] vadd.f64 d16, d16, d17 vldr d17, [sp, #12] vadd.f64 d16, d16, d17 vmov r0, r1, d16 add sp, sp, #12 bx lr ``` The arguments to `emit_ptr_va_arg` are based on [the clang implementation](https://github.com/llvm/llvm-project/blob/03dc2a41f3d9a500e47b513de5c5008c06860d65/clang/lib/CodeGen/Targets/ARM.cpp#L798-L844). r? ``@workingjubilee`` (I can re-roll if your queue is too full, but you do seem like the right person here) try-job: armhf-gnu
2025-09-12Constify Eq, Ord, PartialOrdEvgenii Zheltonozhskii-173/+226
2025-09-12remove outdated jsbackend leftoversklensy-7/+0
2025-09-12Auto merge of #146019 - joboet:better-dlsym, r=tgross35bors-51/+112
std: optimize `dlsym!` macro and add a test for it The `dlsym!` macro always ensures that the name string is nul-terminated, so there is no need to perform the check at runtime. Also, acquire loads are generally faster than a load and a barrier, so use them. This is only false in the case where the symbol is missing, but that shouldn't matter too much.
2025-09-12Only suggest type in as_underscore when it's suggestableTeodoro Freund-4/+38
2025-09-12Merge ref '2a9bacf61876' from rust-lang/rustThe Miri Cronjob Bot-1655/+1497
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 2a9bacf6187685931d52346a0ecff2e52bdc91cc Filtered ref: d7fc6d06166167894862d54c9618a3cd7599fa9c Upstream diff: https://github.com/rust-lang/rust/compare/f4665ab8368ad2e8a86d4390ae35c28bdd9561bb...2a9bacf6187685931d52346a0ecff2e52bdc91cc This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-12Prepare for merging from rust-lang/rustThe Miri Cronjob Bot-1/+1
This updates the rust-version file to 2a9bacf6187685931d52346a0ecff2e52bdc91cc.
2025-09-12Auto merge of #146328 - zetanumbers:fix-141951, r=lcnrbors-5/+40
Skip typeck for items w/o their own typeck context Skip items which forward typeck to their ancestor. Should remove some potential but unnecessary typeck query waits, hence might improve performance for the parallel frontend. Thanks to `@ywxt` for a fix suggestion Fixes rust-lang/rust#141951
2025-09-12ci: Increase `rust.debuginfo-level-tests` to `2` in `x86_64-gnu-debug` jobMartin Nordholts-9/+17
Simply to increase the scope of the testing. Force debuginfo=0 for a handful of tests so that we can have CI prevent regressing on more tests.
2025-09-12fix: `invalid_upcast_comparisons` wrongly unmangled macrosyanglsh-3/+30
2025-09-12fix typo in commentFang He-1/+1
2025-09-11Skip cleanups on unsupported targetsAlex Crichton-27/+86
This commit is an update to the `AbortUnwindingCalls` MIR pass in the compiler. Specifically a new boolean is added for "can this target possibly unwind" and if that's `false` then terminators are all adjusted to be unreachable/not present. The end result is that this fixes 140293 for wasm targets. The motivation for this PR is that currently on WebAssembly targets the usage of the `C-unwind` ABI can lead LLVM to either (a) emit exception-handling instructions or (b) hit a LLVM-ICE-style codegen error. WebAssembly as a base instruction set does not support unwinding at all, and a later proposal to WebAssembly, the exception-handling proposal, was what enabled this. This means that the current intent of WebAssembly targets is that they maintain the baseline of "don't emit exception-handling instructions unless enabled". The commit here is intended to restore this behavior by skipping these instructions even when `C-unwind` is present. Exception-handling is a relatively tricky and also murky topic in WebAssembly, however. There are two sets of instructions LLVM can emit for WebAssembly exceptions, Rust's Emscripten target supports exceptions, WASI targets do not, the LLVM flags to enable this are not always obvious, and additionally this all touches on "changing exception-handling behavior should be a target-level concern, not a feature". Effectively WebAssembly's exception-handling integration into Rust is not finalized at this time. The best idea at this time is that a parallel set of targets will eventually be added which support exceptions, but it's not clear if/when to do this. In the meantime the goal is to keep existing targets working while still enabling experimentation with exception-handling with `-Zbuild-std` and various permutations of LLVM flags. To that extent this commit does not blanket disable these landing pads and cleanup routines for WebAssembly but instead checks to see if panic=unwind is enabled or if `+exception-handling` is enabled. Tests are updated here as well to account for this where, by default, using a `C-unwind` ABI won't affect Rust codegen at all. If `+exception-handling` is enabled, however, then Rust codegen will look like native platforms where exceptions are caught and the program aborts. More-or-less I've done my best to keep exceptions working on wasm where it's possible to have them work, but turned them off where they're not supposed to be emitted.
2025-09-11Auto merge of #145177 - joboet:move-pal-thread, r=ibraheemdevbors-1121/+921
std: move `thread` into `sys` Part of https://github.com/rust-lang/rust/issues/117276.
2025-09-11test: remove an outdated normalization for rustc versionsJosh Stone-3/+2
These "you are using $RUSTC_VERSION" help messages were removed in rust-lang/rust#142943, but rust-lang/rust#142681 started before that and merged later, so its normalization is vestigial.
2025-09-12Use raw fmt str in format macroIoaNNUwU-5/+87
2025-09-11c-variadic: test that unsupported c-variadic ABIs are reported correctlyFolkert de Vries-0/+468
2025-09-11Insert missing word.Jonathan 'theJPster' Pallant-2/+2
2025-09-11Cleanups from review comments.Jonathan 'theJPster' Pallant-4/+3
2025-09-11Add general arm-linux.md platform doc.Jonathan 'theJPster' Pallant-4/+234
Covers all Arm Linux systems, and means that we can reduce the amount of information required in the target specific pages to just the Tier level, the maintainer, and any specific details for that target.
2025-09-11Merge pull request #1918 from a4lg/riscv-aes64im-lower-requirementsSayantan Chakraborty-1/+1
RISC-V: "Lower" requirements of `aes64im`
2025-09-11Add suggestion to `cast_sign_loss` and `cast_possible_wrap` using the ↵Jason Newcomb-49/+140
`cast_{un,}signed()` methods (#15384) changelog: [`cast_sign_loss`, `cast_possible_wrap`]: add suggestion using `cast_{un,}signed()` methods Fixes rust-lang/rust-clippy#14150 This PR adds a suggestion to `cast_sign_loss` and `cast_possible_wrap`, which fixes reported warnings using the `cast_{un,}signed()` methods, as proposed in rust-lang/rust-clippy#14150. Suggestions are only made if MSRV is >=1.87. Also, I'm not 100% sure about the suggestion message yet. I'm open for suggestions.
2025-09-12Remove big-endian swizzles from `vreinterpret`sayantn-9286/+6
2025-09-11Auto merge of #146386 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo submodule 13 commits in 761c4658d0079d607e6d33cf0c060e61a617cad3..24bb93c388fb8c211a37986539f24a819dc669d3 2025-09-04 01:25:01 +0000 to 2025-09-10 23:16:07 +0000 - Bump miow to 0.60.1 (rust-lang/cargo#15950) - test(help): Ensure consistent behavior regardless of rustup use (rust-lang/cargo#15949) - docs(changelog): Clarify how manifest paths are used (rust-lang/cargo#15946) - fix(flock): check if they are marked unsupported in libstd (rust-lang/cargo#15941) - test(manifest): Fix test output order (rust-lang/cargo#15940) - refactor(shell): Simplify some code (rust-lang/cargo#15937) - fix(manifest): Report script manifest errors for the right line number (rust-lang/cargo#15927) - refactor: replace flock with std flock (rust-lang/cargo#15935) - fix(cli): Adjust messages to match rustc (rust-lang/cargo#15928) - fix: Switch from --nocapture to --no-capture (rust-lang/cargo#15930) - Render individual compilation sections in `--timings` pipeline graph (rust-lang/cargo#15923) - test(credential): Switch more expected results to snapshots (rust-lang/cargo#15929) - refactor(cli): Pull out error chain iteration (rust-lang/cargo#15926)
2025-09-11fix(len_zero): don't eagerly call `GenericArgs::type_at` (#15660)Timo-3/+14
Fixes https://github.com/rust-lang/rust-clippy/issues/15657 changelog: [`len_zero`]: fix ICE when `fn len` has a return type without generic type params r? @y21
2025-09-11refactor: split `derive` lints into separate modules (#15622)Jason Newcomb-527/+559
changelog: none
2025-09-11remove unused getLongestEntryLengthklensy-8/+0
2025-09-11fix(needless_closure): don't lint on `AsyncFn*`s (#15649)dswij-12/+31
Fixes https://github.com/rust-lang/rust-clippy/issues/13892 changelog: [`needless_closure`]: don't lint on `AsyncFn`s
2025-09-11remove unused macroklensy-116/+0
2025-09-11Merge pull request #1915 from heiher/fix-signaturesAmanieu d'Antras-16/+20
loongarch: Align intrinsic signatures with LLVM
2025-09-11fix(len_zero): don't eagerly call `GenericArgs::type_at`Ada Alakbarova-3/+14
Results in an ICE if the output type has no generic type params
2025-09-11Merge pull request #4580 from JoJoDeveloping/fix-4579-protector-0sizedRalf Jung-65/+12
Fix #4579 by checking if the strong protector is actually "active".
2025-09-11bootstrap: rustdoc-js tests can now be filtered by js filesbinarycat-1/+15
2025-09-11move zero-sized protector dealloc testJohannes Hostert-15/+10
2025-09-11update doc commentConnor Tsui-1/+1
Co-authored-by: Ralf Jung <post@ralfj.de>
2025-09-11Fix `libgccjit` symlink when we build GCC locallyJakub Beránek-1/+13
2025-09-11fix config for poison macro testConnor Tsui-15/+18
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
2025-09-11Add regression test for literal search on pathsGuillaume Gomez-0/+30