about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-05-12Auto merge of #140934 - ↵bors-2/+0
yotamofek:pr/fix-default-compiler-bootstrap-settings, r=onur-ozkan Silence warning in default compiler bootstrap settings Fixes #140928
2025-05-12Silence warning in default compiler bootstrap settingsYotam Ofek-2/+0
2025-05-12Auto merge of #140925 - the8472:test-140207, r=compiler-errorsbors-0/+13
add regression test for 140207 Assembly test for #140207
2025-05-12Auto merge of #140923 - Zalathar:operand-bundle, r=lcnrbors-17/+18
cg_llvm: Rename `OperandBundleOwned` to `OperandBundleBox` As with `DIBuilderBox`, the "Box" suffix does a better job of communicating that this is an owning pointer to some borrowable resource. This also renames the `raw` method to `as_ref`, which is what it would have been named originally if the `Deref` problem (#137603) had been known at the time. No functional change.
2025-05-11Auto merge of #140842 - tmiasko:print-mono-items, r=saethlinbors-111/+74
Remove mono item collection strategy override from -Zprint-mono-items Previously `-Zprint-mono-items` would override the mono item collection strategy. When debugging one doesn't want to change the behaviour, so this was counter productive. Additionally, the produced behaviour was artificial and might never arise without using the option in the first place (`-Zprint-mono-items=eager` without `-Clink-dead-code`). Finally, the option was incorrectly marked as `UNTRACKED`. Resolve those issues, by turning `-Zprint-mono-items` into a boolean flag that prints results of mono item collection without changing the behaviour of mono item collection. For codegen-units test incorporate `-Zprint-mono-items` flag directly into compiletest tool. Test changes are mechanical. `-Zprint-mono-items=lazy` was removed without additional changes, and `-Zprint-mono-items=eager` was turned into `-Clink-dead-code`. Linking dead code disables internalization, so tests have been updated accordingly.
2025-05-11Auto merge of #140899 - oyvindln:update_coverage_dump_deps, r=Zalatharbors-19/+4
Update miniz_oxide dependency of coverage_dump This was the final subproject that depended on ```miniz_oxide``` 0.7.x after the rest were when updating the ```backtrace-rs``` dependency in in #140705. Older versions of ```miniz_oxide``` got hit by a [serious](https://github.com/rust-lang/rust/issues/132636) performance regression in rust 1.82 (which has been worked around in more recent versions of the library) so should really be avoided if possible (granted it only affects compression so not sure if it had much impact in practice here, though there have also been some other performance improvements since .) This also means no longer having to build two versions of miniz_oxide as everything can now use the same version, and no longer needing to build both ```adler``` and ```adler2```
2025-05-11Auto merge of #140915 - matthiaskrgr:rollup-lxce4zr, r=matthiaskrgrbors-25/+523
Rollup of 3 pull requests Successful merges: - #140397 (Add T-compiler backports Zulip notifications) - #140851 (Warn when `#[export_name]` is used with generic functions) - #140862 (Enable non-leaf Frame Pointers for Arm64EC Windows) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-11add regression test for 140207The 8472-0/+13
2025-05-11Rename `OperandBundleOwned` to `OperandBundleBox`Zalathar-17/+18
As with `DIBuilderBox`, the "Box" suffix does a better job of communicating that this is an owning pointer to some borrowable resource. This also renames the `raw` method to `as_ref`, which is what it would have been named originally if the `Deref` problem had been known at the time.
2025-05-11Auto merge of #140902 - azhogin:azhogin/async-drop-open-drop-for-adt-fix, ↵bors-0/+24
r=oli-obk Async drop fix for async_drop_in_place<T> layout for unspecified T Fix for https://github.com/rust-lang/rust/issues/140423. Layout of `async_drop_in_place<T>::{closure}` is calculated for unspecified T from dataflow_const_prop `try_make_constant`. `@oli-obk,` do you think, it may be a better solution to add check like `if !args[0].is_fully_specialized() { return None; }` in `fn async_drop_coroutine_layout`? And could you, pls, recommend, how to implement `is_fully_specialized()` in a most simple way?
2025-05-11Rollup merge of #140862 - dpaoliello:arm64ecfp, r=wesleywiserMatthias Krüger-3/+11
Enable non-leaf Frame Pointers for Arm64EC Windows This was enabled for native Arm64 via #140828 r? `@workingjubilee`
2025-05-11Rollup merge of #140851 - mu001999-contrib:new-lint, r=bjorn3Matthias Krüger-10/+477
Warn when `#[export_name]` is used with generic functions Fixes #140742
2025-05-11Rollup merge of #140397 - apiraino:t-compiler-backports-zulip-notifications, ↵Matthias Krüger-12/+35
r=davidtwco Add T-compiler backports Zulip notifications This patch make it so, that the triagebot willl send notifications to the Zulip channel [#t-compiler/backports](https://rust-lang.zulipchat.com/#narrow/channel/474880-t-compiler.2Fbackports) when a label `{stable-beta}-nominated` is added to beta or stable backport pull request. Requirement to trigger this notification is that the pull request be labeled `T-compiler`. Note: Zulip notifications can send notifications also on other events (`message_on_close` and `message_on_reopen`) but I omitted them for now, I am not yet sure we need them. r? `@davidtwco`
2025-05-11Auto merge of #135015 - heiher:stabilize-loongarch-target-features, r=Amanieubors-13/+9
Partially stabilize LoongArch target features Stabilization PR for the LoongArch target features. This PR stabilizes some of the target features tracked by #44839. Specifically, this PR stabilizes the following target features: * f * d * frecipe * lasx * lbt * lsx * lvz Docs PR: https://github.com/rust-lang/reference/pull/1707 r? `@Amanieu`
2025-05-11Auto merge of #140912 - fmease:rollup-rwtn31e, r=fmeasebors-216/+580
Rollup of 7 pull requests Successful merges: - #140792 (Use intrinsics for `{f16,f32,f64,f128}::{minimum,maximum}` operations) - #140795 (Prefer to suggest stable candidates rather than unstable ones) - #140865 (Make t letter looks like lowercase rather than uppercase) - #140878 (Two expand-related cleanups) - #140882 (Split duration_constructors to get non-controversial constructors out) - #140886 (Update deps of bootstrap for Cygwin) - #140903 (test intrinsic fallback bodies with Miri) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-11Rollup merge of #140903 - RalfJung:fallback-body-tests, r=WaffleLapkinLeón Orell Valerian Liehr-11/+46
test intrinsic fallback bodies with Miri `@Urgau` noted in https://github.com/rust-lang/rust/pull/140792 that fallback bodies our backends don't use are untested... which is correct, and it is a problem. So this adds a testing-only flag to Miri to force the use of fallback bodies, and adds a run of the Miri test suite with that flag to CI. This should not take much more than a minute so I hope it's fine? Let's see how long it actually takes. While at it, I made that test run also enable MIR optimizations. Miri's CI has a run with that, and it has caught mir-opt bugs in the past -- this way we'd see the CI failure earlier. r? `@scottmcm`
2025-05-11Rollup merge of #140886 - Berrysoft:update-bootstrap-lock, r=jieyouxuLeón Orell Valerian Liehr-33/+13
Update deps of bootstrap for Cygwin This PR just runs ``` cargo update fd-lock xattr libc errno ``` It reduces dependency on `rustix 0.38.40` and updates `libc` & `errno`. Now it compiles successfully on Cygwin:)
2025-05-11Rollup merge of #140882 - Dietr1ch:dev/duration_constructors_lite, r=BurntSushiLeón Orell Valerian Liehr-7/+29
Split duration_constructors to get non-controversial constructors out This implements #140881
2025-05-11Rollup merge of #140878 - nnethercote:two-expand-cleanups, r=compiler-errorsLeón Orell Valerian Liehr-71/+45
Two expand-related cleanups Minor improvements I found while looking at this code. Best reviewed one commit at a time. r? `@BoxyUwU`
2025-05-11Rollup merge of #140865 - Kivooeo:9th, r=NoratriebLeón Orell Valerian Liehr-4/+4
Make t letter looks like lowercase rather than uppercase randomly noticed that, took opportunity to fix :D it was looks like "RusT" now fixed to "Rust" r? `@jieyouxu` before <img src="https://github.com/user-attachments/assets/1ff19891-2e7b-4633-897d-2b2635aff9c6" width="65%" /> now <img src="https://github.com/user-attachments/assets/d577a2af-6755-411b-8050-2556f0f12e75" width="65%" />
2025-05-11Rollup merge of #140795 - mu001999-contrib:sugg-stable-import-first, ↵León Orell Valerian Liehr-6/+94
r=petrochenkov Prefer to suggest stable candidates rather than unstable ones Fixes #140240 The logic is to replace unstable suggestions if we meet a new stable one, and do nothing if any other situation. In old logic, we just use the first candidate we meet as the suggestion for the same items. E.g., `std::range::legacy::Range` vs `std::ops::Range`, `legacy` in the former is unstable, we prefer to suggest use the latter.
2025-05-11Rollup merge of #140792 - Urgau:minimum-maximum-intrinsics, ↵León Orell Valerian Liehr-84/+349
r=scottmcm,traviscross,tgross35 Use intrinsics for `{f16,f32,f64,f128}::{minimum,maximum}` operations This PR creates intrinsics for `{f16,f32,f64,f64}::{minimum,maximum}` operations. This wasn't done when those operations were added as the LLVM support was too weak but now that LLVM has libcalls for unsupported platforms we can finally use them. Cranelift and GCC[^1] support are partial, Cranelift doesn't support `f16` and `f128`, while GCC doesn't support `f16`. r? `@tgross35` try-job: aarch64-gnu try-job: dist-various-1 try-job: dist-various-2 [^1]: https://www.gnu.org/software///gnulib/manual/html_node/Functions-in-_003cmath_002eh_003e.html
2025-05-11Async drop fix for async_drop_in_place<T> layout calculated for unspecified TAndrew Zhogin-0/+24
2025-05-10Auto merge of #140901 - Kobzol:fix-download-gcc, r=onur-ozkanbors-1/+2
Fix download of GCC from CI on non-nightly channels Fixes the download failure on beta (https://github.com/rust-lang/rust/pull/140897#issuecomment-2868974932). r? `@onur-ozkan`
2025-05-10test intrinsic fallback bodies with MiriRalf Jung-11/+46
2025-05-10Fix download of GCC from CI on non-nightly channelsJakub Beránek-1/+2
2025-05-10Auto merge of #140895 - matthiaskrgr:rollup-rfvqv4t, r=matthiaskrgrbors-93/+110
Rollup of 7 pull requests Successful merges: - #129334 (Implement (part of) ACP 429: add `DerefMut` to `Lazy[Cell/Lock]`) - #139562 (rustdoc: add a handle that makes sidebar resizing more obvious) - #140151 (remove intrinsics::drop_in_place) - #140660 (remove 'unordered' atomic intrinsics) - #140783 (Update documentation of OnceLock::get_or_init.) - #140789 (Update hermit-abi to 0.5.1) - #140879 (1.87.0 release notes: remove nonsensical `~` operator) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-10Update miniz_oxide dependency of coverage_dumpoyvindln-19/+4
2025-05-10Use the fallback body for `{minimum,maximum}f128` on LLVM as well.Urgau-6/+14
2025-05-10Rollup merge of #140879 - pthariensflame:patch-1, r=pietroalbiniMatthias Krüger-1/+1
1.87.0 release notes: remove nonsensical `~` operator There is no `~` unary prefix operator, and it definitely shouldn't be in the release notes for a feature whose introducing PR doesn't test for it (because it doesn't exist). Also fix an unnecessary `}` on the same line. r? ``@pietroalbini``
2025-05-10Rollup merge of #140789 - hermit-os:hermit-abi-0.5.1, r=Mark-SimulacrumMatthias Krüger-2/+2
Update hermit-abi to 0.5.1 This updates hermit-abi to version 0.5.1, bringing the [recent `AF_*`](https://github.com/rust-lang/libc/pull/4344) changes to std.
2025-05-10Rollup merge of #140783 - veluca93:oncelock-docs, r=jhprattMatthias Krüger-1/+1
Update documentation of OnceLock::get_or_init. Explicitly point out that if the function panics the init function might be called multiple times.
2025-05-10Rollup merge of #140660 - RalfJung:more-order, r=WaffleLapkinMatthias Krüger-16/+1
remove 'unordered' atomic intrinsics As their doc comment already indicates, these operations do not currently have a place in our memory model. The intrinsics were introduced to support a hack in compiler-builtins, but that hack recently got removed (see https://github.com/rust-lang/compiler-builtins/issues/788).
2025-05-10Rollup merge of #140151 - RalfJung:drop_in_place-is-not-an-intrinsic, ↵Matthias Krüger-41/+31
r=Mark-Simulacrum remove intrinsics::drop_in_place This was only ever accidentally stable, and has been marked as deprecated since Rust 1.52, released almost 4 years ago. We've removed the old serialization `derive`s, maybe we can remove this one as well? As suggested by ``@jhpratt,`` let's see what crater says for this one.
2025-05-10Rollup merge of #139562 - notriddle:notriddle/ew-resize, r=GuillaumeGomezMatthias Krüger-30/+56
rustdoc: add a handle that makes sidebar resizing more obvious This aims to make the resizable sidebars more obvious Preview: <https://notriddle.com/rustdoc-html-demo-12/sidebar-resize-handle/std/index.html> ![image](https://github.com/user-attachments/assets/d4d70982-8045-4fed-818a-982108b0d3b3) ![image](https://github.com/user-attachments/assets/4aaa3663-19f3-4e04-89c6-53db0ddb72ed) ![image](https://github.com/user-attachments/assets/3f612c5b-6be1-4383-801a-067c87425eb9) This change is based on some discussion on [lolbinarycat's idea], but with a more "traditional" design. Specifically, while very few systems use exactly this design, most of them use [a skeumorph](https://ux.stackexchange.com/questions/80463/what-do-the-3-close-horizontal-bars-not-hamburger-menu-represent-and-what-is-t/80591#80591) of a grip texture: - This design is similar to the one used in the Rust Playground, and almost identical to UX StackExchange: <details><img src="https://github.com/user-attachments/assets/39a6bb69-4895-4fd0-87da-b87913bc7309"></details> <details><img src="https://github.com/user-attachments/assets/a41942e1-651b-410b-b855-2aafe8fe54f4"></details> - In Jira, resizable sidebars have a stack of four dots, but only in one row. <details><img src="https://github.com/user-attachments/assets/13047998-02bf-47e6-b796-16f393f870b0"></details> - In The GIMP, resizable sidebars have a stack of three dots. <details><img src="https://github.com/user-attachments/assets/138f5c21-3069-4bbe-b306-0bb9a4bf0318"></details> - In [old Windows], "panes" are defined to have the same border style as a window, which has a raised appearance. To evoke this, the PR adds a lightweight "shadow" border, darker than the sidebar itself <details><img src="https://github.com/user-attachments/assets/301da4b8-6c48-4131-b741-1689af84670a"></details> - In [NeXT], a drag point usually had an innie, whether the line in a slider or the circle in a scroller; I can also hide and show the favorites bar in Workspace by dragging on a circular "grip spot" <details><img src="https://github.com/user-attachments/assets/b13c2d30-a3a8-4672-90fa-58c1fdf19f42"></details> - In [old Mac], drag handles for things usually had a "grip track" of parallel lines. <details><img src="https://github.com/user-attachments/assets/1fbecc67-ffbc-4ed6-a8c5-a9ff085638db"></details> *This design is far closer to old Mac than anything else*, though they've put it in the bottom corner instead of the middle. - [OSX] kept that, but the "Source List" part of the Finder still had the circle grip for a time the same way Workspace did (resulting in an odd mishmash, if you compare the source list sidebar with the other grip tracks embedded in the scrollbars). <details><img src="https://github.com/user-attachments/assets/551b8f9d-2dd8-4291-917f-dc88741a2b97"></details> [lolbinarycat's idea]: https://github.com/rust-lang/rust/pull/139420 [old Windows]: https://archive.org/details/windowsinterface00micr/page/n9/mode/2up [old Mac]: https://archive.org/details/apple-hig/1996_Human_Interface_Guidelines_for_Mac_OS_8_%28WWDC_Release%29/page/16/mode/2up [NeXT]: https://archive.org/details/apple-hig/1993%20NeXTSTEP%20User%20Interface%20Guidelines%20-%20Release%203/page/145/mode/2up [OSX]: https://dn721903.ca.archive.org/0/items/apple-hig/MacOSX_HIG_2005_09_08.pdf#page=267
2025-05-10Rollup merge of #129334 - ChayimFriedman2:more-lazy-methods, r=AmanieuMatthias Krüger-2/+18
Implement (part of) ACP 429: add `DerefMut` to `Lazy[Cell/Lock]` `DerefMut` is instantly stable, as a trait impl. That means this needs an FCP. ``@rustbot`` label +needs-fcp https://github.com/rust-lang/libs-team/issues/429
2025-05-10Auto merge of #140854 - oli-obk:merge-queries, r=nnethercotebors-123/+119
Merge typeck loop with static/const item eval loop r? `@ghost` Let's try a small one first. Doing this in general has some bad cache coherence issues because the query caches are laid out in `Vec<QueryResult>` lists per query where each index refers to a `DefId` in the same order as we're iterating. Iterating two or more lists at the same time does have cache issues, so I want to poke a bit at it to see if we can't merge just a few of them at a time.
2025-05-10Warn when #[export_name] is used with generic functionsMu001999-10/+477
2025-05-10Auto merge of #140880 - nnethercote:Ident-new-debug-assert, r=oli-obkbors-1/+1
Make the assertion in `Ident::new` debug-only. This fixes a perf regression introduced in #140252. r? `@oli-obk`
2025-05-10Update deps of bootstrap for Cygwin王宇逸-33/+13
2025-05-10Auto merge of #140705 - LegNeato:backtracelock, r=Mark-Simulacrumbors-32/+17
Update `backtrace` in Cargo.lock Ran `cargo update -p backtrace`. This is needed to forward port the rust-gpu compiler backend. Subsumes https://github.com/rust-lang/rust/pull/140631. Was supposed to be fixed by https://github.com/rust-lang/rust/pull/140353, but there were test failures and the backtrace update was backed out.
2025-05-10Auto merge of #140876 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 25 commits in 7918c7eb59614c39f1c4e27e99d557720976bdd7..056f5f4f3c100cb36b5e9aed2d20b9ea70aae295 2025-04-27 09:44:23 +0000 to 2025-05-09 14:54:18 +0000 - Revert "doc: Mention `XDG_DATA_HOME`" (rust-lang/cargo#15512) - docs: update version notice for deprecation removal (rust-lang/cargo#15511) - doc: Update instructions on using native-completions (rust-lang/cargo#15480) - feat(network): use Retry-After header for HTTP 429 responses (rust-lang/cargo#15463) - CI: Require schema job to pass (rust-lang/cargo#15504) - chore(config): migrate renovate config (rust-lang/cargo#15501) - Make cargo script ignore workspaces (rust-lang/cargo#15496) - fix(rustc): Don't panic on unknown bins (rust-lang/cargo#15497) - test: Remove unused nightly requirements (rust-lang/cargo#15498) - Add support for `-Zembed-metadata` (rust-lang/cargo#15378) - Fix tracking issue template link (rust-lang/cargo#15494) - Refactor artifact deps in FeatureResolver::deps (rust-lang/cargo#15492) - Improved error message for versions prefixed with `v` (rust-lang/cargo#15484) - chore: fix some typos in comment (rust-lang/cargo#15485) - fix: default to all targets when using `--edition` and ` --edition-idioms` in cargo fix (rust-lang/cargo#15192) - Update fingerprint footnote (rust-lang/cargo#15478) - feat(add): suggest similarly named features (rust-lang/cargo#15438) - In package-workspace, keep dev-dependencies if they have a version (rust-lang/cargo#15470) - docs: fix a typo in DependencyUI (rust-lang/cargo#15472) - fix grammar, and remove confusing example (rust-lang/cargo#15457) - Added tracing spans for rustc invocations (rust-lang/cargo#15464) - Trivial tweaks to 'target_short_hash' (rust-lang/cargo#15461) - chore(deps): update msrv (3 versions) to v1.84 (rust-lang/cargo#15456) - feat(add/install): check if given crate argument would be valid with inserted @ symbol (rust-lang/cargo#15441) - chang 1 tries to 1 try (rust-lang/cargo#15328) r? ghost
2025-05-09Split duration_constructors to get non-controversial bits out faster.Dietrich Daroch-7/+29
2025-05-09Auto merge of #140869 - matthiaskrgr:rollup-r5k19w6, r=matthiaskrgrbors-188/+216
Rollup of 7 pull requests Successful merges: - #139863 (rustdoc: Replace unstable flag `--doctest-compilation-args` with a simpler one: `--doctest-build-arg`) - #140815 (also export metrics from librustdoc) - #140819 (Add regression test for 125877) - #140843 (Fix `broken-pipe-no-ice` run-make test for rpath-less builds) - #140848 (Improved error message for top-level or-patterns) - #140852 (Update the edition guide for let chains) - #140864 (Last minute relnotes fix) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-10Make the assertion in `Ident::new` debug-only.Nicholas Nethercote-1/+1
This fixes a perf regression introduced in #140252.
2025-05-09RELEASES.md: fix unbalanced and unneeded `}`Laine Taffin Altman-1/+1
2025-05-09RELEASES.md: fix nonsensical ~ operatorLaine Taffin Altman-1/+1
There is no `~` unary prefix operator, and it definitely shouldn't be in the release notes for a feature whose introducing PR doesn't test for it (because it doesn't exist).
2025-05-10Remove `AstDeref`.Nicholas Nethercote-53/+33
It's a "utility trait to reduce boilerplate" implemented for `P` and `AstNodeWrapper`, but removing it gives a net reduction of twenty lines of code. It's also simpler to just implement `HasNodeId`/`HasAttrs`/`HasTokens` directly on types instead of via `AstDeref`. (I decided to make this change when doing some related refactoring and the error messages involving `AstDeref` and `HasAttrs` were hard to understand; removing it helped a lot.)
2025-05-09Update cargoWeihang Lo-0/+0
2025-05-09rustdoc: use a different style of grip trackMichael Howell-39/+19