about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-07-13Rollup merge of #143822 - RalfJung:miri-ui-clean, r=jieyouxuLeón Orell Valerian Liehr-2/+9
./x test miri: fix cleaning the miri_ui directory Fixes https://github.com/rust-lang/rust/issues/143680
2025-07-13Rollup merge of #143817 - Kobzol:wasi-sdk-path, r=jieyouxuLeón Orell Valerian Liehr-1/+1
Access `wasi_sdk_path` instead of reading environment variable in bootstrap Small cleanup to remove an environment variable read that we have performed earlier in bootstrap already.
2025-07-13Rollup merge of #143814 - lolbinarycat:htmldocck-negative-err, r=fmeaseLeón Orell Valerian Liehr-0/+4
htmldocck: better error messages for some negative directives Previously it was saying "did not match pattern" even when the error was that it did match the pattern, and it wasn't supposed to.
2025-07-13Rollup merge of #143803 - RalfJung:const-trait-tracking, r=compiler-errorsLeón Orell Valerian Liehr-40/+41
New tracking issues for const_ops and const_cmp Let's do a clean start with new tracking issues to avoid mixing things up with the previous constification. I assume the fact that the `PartialEq` *trait* and *impls* used different feature names was a mistake (the feature name on the impl is entirely irrelevant anyway). Part of https://github.com/rust-lang/rust/issues/143800, https://github.com/rust-lang/rust/issues/143802 r? ``@oli-obk``
2025-07-13Rollup merge of #143798 - ↵León Orell Valerian Liehr-28/+5
Shourya742:2025-07-11-remove-format-short-command-trait, r=Kobzol Remove format short command trait Since we no longer have traces of the vanilla command, and we're already implementing format_short_command for CommandFingerprint, we can use it directly from the fingerprint. This PR removes the standalone format_short_command trait and moves its implementation under CommandFingerprint.
2025-07-13Rollup merge of #143796 - JonathanBrouwer:fix-builtin-attribute-prefix, ↵León Orell Valerian Liehr-1/+40
r=jdonszelmann Fix ICE for parsed attributes with longer path not handled by CheckAttribute Fixes https://github.com/rust-lang/rust/issues/137590 Fixes https://github.com/rust-lang/rust/issues/143789 r? ```@jdonszelmann```
2025-07-13Rollup merge of #143791 - GuillaumeGomez:update-sysinfo, r=jieyouxuLeón Orell Valerian Liehr-8/+8
Update sysinfo version to `0.36.0` Bugfixes and some new API additions.
2025-07-13Rollup merge of #143782 - jieyouxu:debug-assertions, r=ChrisDentonLeón Orell Valerian Liehr-5/+27
Disambiguate between rustc vs std having debug assertions in `run-make-support` and `run-make` tests `NO_DEBUG_ASSERTIONS` is set by CI that threads through to the `./configure.py` script, which is somewhat fragile and "spooky action at a distance". For `fmt-write-bloat`, this is actually wrong because the test wants to gate on *std* being built with debug assertions or not, whereas `NO_DEBUG_ASSERTIONS` determines *rustc* being built with debug assertions or not. Instead, use env vars controlled by compiletest, whose debug assertion info comes from bootstrap. https://github.com/rust-lang/rust/blob/855e0fe46e68d94e9f6147531b75ac2d488c548e/src/ci/run.sh#L137-L146 `NO_DEBUG_ASSERTIONS` controls `--enable-debug-assertions` https://github.com/rust-lang/rust/blob/855e0fe46e68d94e9f6147531b75ac2d488c548e/src/bootstrap/configure.py#L124 which sets `--rust.debug-assertions`, which controls *rustc* debug assertions. https://github.com/rust-lang/rust/blob/855e0fe46e68d94e9f6147531b75ac2d488c548e/src/bootstrap/configure.py#L125-L129 `--rust.debug-assertions-std` controls *std* debug assertions. Noticed while investigating `fmt-write-bloat` in https://github.com/rust-lang/rust/pull/143669#discussion_r2200522215. Best reviewed commit-by-commit. r? ``@ChrisDenton`` (or compiler/bootstrap)
2025-07-13Rollup merge of #143778 - oli-obk:const-cleanup, r=fee1-deadLeón Orell Valerian Liehr-12/+4
Some const_trait_impl test cleanups Some tests we forgot to update when the feature gate was reimplemented r? ``@fee1-dead`` ``@compiler-errors``
2025-07-13Rollup merge of #143776 - no1wudi:fix, r=tgross35León Orell Valerian Liehr-1/+1
std: move NuttX to use arc4random for random number generation arc4random support in libc merged in https://github.com/rust-lang/libc/pull/4464, so: * Move `target_os = "nuttx"` from unix_legacy to arc4random section * This aligns NuttX with other POSIX-compliant systems that support arc4random * Improves random number generation quality on NuttX by using the system's built-in arc4random implementation instead of legacy fallback methods NuttX supports arc4random_buf which provides better entropy and security compared to the legacy random number generation methods.
2025-07-13Auto merge of #140717 - mejrs:diagnostic_lints, r=oli-obkbors-59/+157
Split up the `unknown_or_malformed_diagnostic_attributes` lint This splits up the lint into the following lint group: - `unknown_diagnostic_attributes` - triggers if the attribute is unknown to the current compiler - `misplaced_diagnostic_attributes` - triggers if the attribute exists but it is not placed on the item kind it's meant for - `malformed_diagnostic_attributes` - triggers if the attribute's syntax or options are invalid - `malformed_diagnostic_format_literals` - triggers if the format string literal is invalid, for example if it has unpaired curly braces or invalid parameters - this pr doesn't create it, but future lints for things like deprecations can also go here. This PR does not start emitting lints in places that previously did not. ## Motivation I want to have finer control over what `unknown_or_malformed_diagnostic_attributes` does I have a project with fairly low msrv that is/will have a lower msrv than future diagnostic attributes. So lints will be emitted when I or others compile it on a lower msrv. At this time, there are two options to silence these lints: - `#[allow(unknown_or_malformed_diagnostic_attributes)]` - this risks diagnostic regressions if I (or others) mess up using the attribute, or if the attribute's syntax ever changes. - write a build script to detect the compiler version and emit cfgs, and then conditionally enable the attribute: ```rust #[cfg_attr(rust_version_99, diagnostic::new_attr_in_rust_99(thing = ..))]` struct Foo; ``` or conditionally `allow` the lint: ```rust // lib.rs #![cfg_attr(not(current_rust), allow(unknown_or_malformed_diagnostic_attributes))] ``` I like to avoid using build scripts if I can, so the following works much better for me. That is what this PR will let me do in the future: ```rust #[allow(unknown_diagnostic_attribute, reason = "attribute came out in rust 1.99 but msrv is 1.70")] #[diagnostic::new_attr_in_rust_99(thing = ..)]` struct Foo;
2025-07-12Auto merge of #143783 - bvanjoi:issue-143697-2, r=compiler-errorsbors-166/+162
compute all rpitit of a trait Fixes rust-lang/rust#143697 r? `@compiler-errors`
2025-07-12Clean up implementation of RPITIT assoc item loweringMichael Goulet-146/+110
2025-07-13query RPITIT in a trait or implbohan-151/+143
2025-07-13compute all rpitit of a traitbohan-57/+97
2025-07-12Auto merge of #143624 - tmiasko:copy-prop-borrowed, r=cjgillotbors-142/+97
Propagate from borrowed locals in CopyProp r? cjgillot
2025-07-12Auto merge of #143810 - matthiaskrgr:rollup-iw7a23z, r=matthiaskrgrbors-194/+432
Rollup of 9 pull requests Successful merges: - rust-lang/rust#143403 (Port several trait/coherence-related attributes the new attribute system) - rust-lang/rust#143633 (fix: correct assertion to check for 'noinline' attribute presence before removal) - rust-lang/rust#143647 (Clarify and expand documentation for std::sys_common dependency structure) - rust-lang/rust#143716 (compiler: doc/comment some codegen-for-functions interfaces) - rust-lang/rust#143747 (Add target maintainer information for aarch64-unknown-linux-musl) - rust-lang/rust#143759 (Fix typos in function names in the `target_feature` test) - rust-lang/rust#143767 (Bump `src/tools/x` to Edition 2024 and some cleanups) - rust-lang/rust#143769 (Remove support for SwitchInt edge effects in backward dataflow) - rust-lang/rust#143770 (build-helper: clippy fixes) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-12Auto merge of #143766 - matthiaskrgr:rollup-0x7t69s, r=matthiaskrgrbors-477/+1164
Rollup of 8 pull requests Successful merges: - rust-lang/rust#142391 (rust: library: Add `setsid` method to `CommandExt` trait) - rust-lang/rust#143302 (`tests/ui`: A New Order [27/N]) - rust-lang/rust#143303 (`tests/ui`: A New Order [28/28] FINAL PART) - rust-lang/rust#143568 (std: sys: net: uefi: tcp4: Add timeout support) - rust-lang/rust#143611 (Mention more APIs in `ParseIntError` docs) - rust-lang/rust#143661 (chore: Improve how the other suggestions message gets rendered) - rust-lang/rust#143708 (fix: Include frontmatter in -Zunpretty output ) - rust-lang/rust#143718 (Make UB transmutes really UB in LLVM) r? `@ghost` `@rustbot` modify labels: rollup try-job: i686-gnu-nopt-1 try-job: test-various
2025-07-12./x test miri: fix cleaning the miri_ui directoryRalf Jung-2/+9
2025-07-12Auto merge of #143809 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 14 commits in 930b4f62cfcd1f0eabdb30a56d91bf6844b739bf..eabb4cd923deb73e714f7ad3f5234d68ca284dbe 2025-06-28 14:58:43 +0000 to 2025-07-09 22:07:55 +0000 - feat: Implementation and tests for `multiple-build-scripts` (rust-lang/cargo#15704) - perf: Speed up TOML parsing by upgrading toml (rust-lang/cargo#15736) - Mark cachelock tests that rely on interprocess blocking behaviour as unsupported on AIX. (rust-lang/cargo#15734) - feat(publish): Stabilize multi-package publishing (rust-lang/cargo#15636) - Update to Rust 2024 (rust-lang/cargo#15732) - Clarify package ID specifications in SBOMs are fully qualified (rust-lang/cargo#15731) - chore(deps): update cargo-semver-checks to v0.42.0 (rust-lang/cargo#15730) - test: Switch config tests to use snapshots (rust-lang/cargo#15729) - implement package feature unification (rust-lang/cargo#15684) - chore: Upgrade dependencies (rust-lang/cargo#15722) - Report valid file name when we can't find a build target for `name = "foo.rs"` (rust-lang/cargo#15707) - chore(release): Publish build-rs on release (rust-lang/cargo#15708) - Override `Cargo.lock` checksums when doing a dry-run `publish` (rust-lang/cargo#15711) - test(rustfix): Update for nightly (rust-lang/cargo#15717) r? ghost
2025-07-11Access `wasi_sdk_path` instead of reading environment variable in bootstrapJakub Beránek-1/+1
2025-07-11htmldocck: better error messages for negative raw directivesbinarycat-0/+4
2025-07-11Rollup merge of #143770 - hkBst:build-helper-cleanup, r=KobzolMatthias Krüger-26/+25
build-helper: clippy fixes
2025-07-11Rollup merge of #143769 - tmiasko:rm-backward-switch-int, r=lqdMatthias Krüger-48/+7
Remove support for SwitchInt edge effects in backward dataflow Those effects are untested and unused. Remove them along with the implementation of `BasicBlocks::switch_sources`.
2025-07-11Rollup merge of #143767 - hkBst:cleanup-x, r=jieyouxuMatthias Krüger-14/+10
Bump `src/tools/x` to Edition 2024 and some cleanups - Some clippy fixes - Bump `src/tools/x` to Edition 2024
2025-07-11Rollup merge of #143759 - fluiderson:rdttff, r=aDotInTheVoidMatthias Krüger-3/+3
Fix typos in function names in the `target_feature` test Seems like `test1` was copy-pasted but forgotten to be renamed after.
2025-07-11Rollup merge of #143747 - Gelbpunkt:aarch64-musl-maintainer, r=jieyouxuMatthias Krüger-1/+51
Add target maintainer information for aarch64-unknown-linux-musl Mentioning ``@famfo`` so that they can review the documentation. We're both very invested in this target; I originally promoted it to tier 2 with host tools in rust-lang/rust#76420 back in 2020.
2025-07-11Rollup merge of #143716 - ↵Matthias Krüger-10/+35
workingjubilee:document-some-codegen-backend-stuff, r=bjorn3,fee1-dead compiler: doc/comment some codegen-for-functions interfaces An out-of-date comment gets updated and some underdocumented functions get documented.
2025-07-11Rollup merge of #143647 - ColtenOuO:master, r=ChrisDentonMatthias Krüger-1/+1
Clarify and expand documentation for std::sys_common dependency structure This PR makes a minor improvement to the module-level documentation of std::sys_common: Replaces the lowercase “dag” with the more standard and explicit form “DAG (Directed Acyclic Graph)” for clarity.
2025-07-11Rollup merge of #143633 - dillona:noinline-assert, r=fee1-deadMatthias Krüger-1/+1
fix: correct assertion to check for 'noinline' attribute presence before removal
2025-07-11Rollup merge of #143403 - GrigorenkoPV:attributes/traits, r=jdonszelmannMatthias Krüger-90/+299
Port several trait/coherence-related attributes the new attribute system Part of rust-lang/rust#131229 This ports: - `#[const_trait]` - `#[rustc_deny_explicit_impl]` - `#[rustc_do_not_implement_via_object]` - `#[rustc_coinductive]` - `#[type_const]` - `#[rustc_specialization_trait]` - `#[rustc_unsafe_specialization_marker]` - `#[marker]` - `#[fundamental]` - `#[rustc_paren_sugar]` - `#[rustc_allow_incoherent_impl]` - `#[rustc_coherence_is_core]` This also changes `#[marker]` to error on duplicates instead of warning. cc rust-lang/rust#142838, but I don't think it matters too much, since it's unstable. r? ``@oli-obk``
2025-07-11Update cargoWeihang Lo-0/+0
2025-07-11remove format short command and push format short command method inside ↵bit-aloo-27/+4
fingerprint impl
2025-07-11fix const_ops tracking issueRalf Jung-12/+12
2025-07-11fix PartialEq const feature name and const_cmp tracking issueRalf Jung-28/+29
2025-07-11Use short command method directly from fingerprintbit-aloo-1/+1
2025-07-11Fix ICE for parsed attributes with longer path not handled by CheckAttrVisitorJonathan Brouwer-1/+40
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-11Update sysinfo version to `0.36.0`Guillaume Gomez-8/+8
2025-07-11Fix std debug assertions gate in `fmt-write-boat`Jieyou Xu-2/+2
The test itself is still broken, but fix this gating separately first.
2025-07-11Disambiguate between rustc vs std having debug assertionsJieyou Xu-3/+25
Additionally, `NO_DEBUG_ASSERTIONS` is set by CI that threads through to the `./configure` script, which is somewhat fragile and "spooky action at a distance". Instead, use env vars controlled by compiletest, whose debug assertion info comes from bootstrap.
2025-07-11Some const_trait_impl test cleanupsOli Scherer-12/+4
2025-07-11std: move NuttX to use arc4random for random number generationHuang Qi-1/+1
* Move `target_os = "nuttx"` from unix_legacy to arc4random section * This aligns NuttX with other POSIX-compliant systems that support arc4random * Improves random number generation quality on NuttX by using the system's built-in arc4random implementation instead of legacy fallback methods NuttX supports arc4random_buf which provides better entropy and security compared to the legacy random number generation methods. Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-07-11Remove support for SwitchInt edge effects in backward dataflow analysesTomasz Miąsko-48/+7
Those effects are untested and unused. Remove them along with the implementation of `BasicBlocks::switch_sources`.
2025-07-11compiler: comment on some call-related codegen fn in cg_ssaJubilee Young-2/+29
Partially documents the situation due to LLVM CFI.
2025-07-11build-helper: clippy fixesMarijn Schouten-26/+25
2025-07-11Call `get_switch_int_data` on a block with SwitchInt terminatorTomasz Miąsko-1/+1
Fix a mix-up of a block with its predecessors in handling of SwitchInt edge effects for backward analysis. Note that this functionality is currently unused, so change has no practical impact.
2025-07-11x: use let-elseMarijn Schouten-5/+4
2025-07-11x: move to edition 2024Marijn Schouten-1/+1
2025-07-11x: clippy fixesMarijn Schouten-8/+5
2025-07-11Rollup merge of #143718 - scottmcm:ub-transmute-is-ub, r=WaffleLapkinMatthias Krüger-27/+34
Make UB transmutes really UB in LLVM Ralf suggested in <https://github.com/rust-lang/rust/pull/143410#discussion_r2184928123> that UB transmutes shouldn't be trapping, which happened for the one path *that* PR was changing, but there's another path as well, so *this* PR changes that other path to match. r? codegen