about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-07-29add `nonpoison::mutex` implementationConnor Tsui-32/+682
Adds the equivalent `nonpoison` types to the `poison::mutex` module. These types and implementations are gated under the `nonpoison_mutex` feature gate. Also blesses the ui tests that now have a name conflicts (because these types no longer have unique names). The full path distinguishes the different types. Co-authored-by: Aandreba <aandreba@gmail.com> Co-authored-by: Trevor Gross <tmgross@umich.edu>
2025-07-29clean up existing poison filesConnor Tsui-5/+5
2025-07-29Auto merge of #143289 - scottmcm:remove-array-chunks, r=jhprattbors-540/+23
Remove `[T]::array_chunks(_mut)` Since libs-api is proposing as much in https://github.com/rust-lang/rust/issues/74985#issuecomment-3024465102 Closes rust-lang/rust#74985 Closes rust-lang/rust#76354 try-job: dist-various-1 try-job: dist-various-2
2025-07-28Auto merge of #144524 - rust-lang:cargo_update, r=clubby789bors-17/+17
Weekly `cargo update` Automation to keep dependencies in `Cargo.lock` current. r? dep-bumps The following is the output from `cargo update`: ```txt compiler & tools dependencies: Locking 3 packages to latest compatible versions Updating ipc-channel v0.20.0 -> v0.20.1 Updating rand v0.9.1 -> v0.9.2 Updating redox_syscall v0.5.13 -> v0.5.16 note: pass `--verbose` to see 37 unchanged dependencies behind latest library dependencies: Locking 1 package to latest compatible version Updating rand v0.9.1 -> v0.9.2 note: pass `--verbose` to see 2 unchanged dependencies behind latest rustbook dependencies: Locking 1 package to latest compatible version Updating redox_syscall v0.5.13 -> v0.5.16 ```
2025-07-28Auto merge of #144603 - lnicola:sync-from-ra, r=lnicolabors-1424/+2182
`rust-analyzer` subtree update Subtree update of `rust-analyzer` to https://github.com/rust-lang/rust-analyzer/commit/511c999bea1c3c129b8eba713bb9b809a9003d00. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
2025-07-28Merge pull request #20321 from rust-lang/rustc-pullLaurențiu Nicola-17369/+25391
Rustc pull update
2025-07-28Merge pull request #20330 from Kobzol/triagebot-reopenLaurențiu Nicola-0/+3
Configure triagebot to reopen bot PRs
2025-07-28Format and bump rustc cratesLaurențiu Nicola-23/+23
2025-07-28Configure triagebot to reopen bot PRsJakub Beránek-0/+3
2025-07-28Auto merge of #144377 - camsteffen:simplify-impl-of-method, r=fee1-deadbors-111/+107
Rename impl_of_method and trait_of_item This PR used to tweak the implementation of impl_of_method, but that introduced a perf regression. Rename impl_of_method and trait_of_item to impl_of_assoc and trait_of_assoc respectively. This reflects how the two functions are closely related. And it reflects the behavior more accurately as the functions check whether the input is an associated item.
2025-07-28Tweak docsCameron Steffen-5/+4
2025-07-28Rename impl_of_method -> impl_of_assocCameron Steffen-45/+45
2025-07-28Rename trait_of_item -> trait_of_assocCameron Steffen-47/+47
2025-07-28Introduce assoc_parentCameron Steffen-14/+11
2025-07-28Remove TraitAlias from trait_of_itemCameron Steffen-1/+1
This is dead code.
2025-07-28Merge pull request #20313 from Veykril/push-qmorsnlvwlrrLukas Wirth-50/+50
fix: Fix runnables extra env not substituting env vars
2025-07-28Merge pull request #20327 from Wilfred/saved_file_placeholderLukas Wirth-1/+12
Don't show '$saved_file' literally in IDE status updates
2025-07-28Merge pull request #20303 from Hmikihiro/migrate_path_transformShoyu Vanilla (Flint)-87/+170
Migrate path transform
2025-07-28Auto merge of #144543 - scottmcm:more-sroa, r=cjgillotbors-68/+40
Allow more MIR SROA This removes some guards on SROA that are no longer needed: - With https://github.com/rust-lang/compiler-team/issues/838 it no longer needs to check for SIMD - With https://github.com/rust-lang/compiler-team/issues/807 it no longer needs to check for niches - This means that `Wrapper(char)` and `Pin<&mut T>` can get SRoA'd now, where previously they weren't because the check was banning SRaA for anything with a niche -- not just things with `#[rustc_layout_scalar_valid_range_*]`. - Technically rust-lang/rust#133652 isn't complete yet, but `NonZero` and `NonNull` have already moved over, so this is fine. At worst this will mean that LLVM gets less `!range` metadata on something that wasn't already fixed by rust-lang/rust#133651 or rust-lang/rust#135236, but that's still sound, and unblocking general SRoA is worth that tradeoff.
2025-07-28Don't show '$saved_file' literally in IDE status updatesWilfred Hughes-1/+12
We've had a few users get confused when VS Code shows `my_custom_check --args $saved_file`, as it looks like substitution didn't occur. Instead, show `my_custom_check --args ...` in the display output. This is also shorter, and the VS Code status bar generally works best with short text.
2025-07-28Auto merge of #144562 - matthiaskrgr:rollup-mlvn7qo, r=matthiaskrgrbors-325/+351
Rollup of 7 pull requests Successful merges: - rust-lang/rust#144072 (update `Atomic*::from_ptr` and `Atomic*::as_ptr` docs) - rust-lang/rust#144151 (`tests/ui/issues/`: The Issues Strike Back [1/N]) - rust-lang/rust#144300 (Clippy fixes for miropt-test-tools) - rust-lang/rust#144399 (Add a ratchet for moving all standard library tests to separate packages) - rust-lang/rust#144472 (str: Mark unstable `round_char_boundary` feature functions as const) - rust-lang/rust#144503 (Various refactors to the codegen coordinator code (part 3)) - rust-lang/rust#144530 (coverage: Infer `instances_used` from `pgo_func_name_var_map`) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-28Rollup merge of #144530 - Zalathar:instances-used, r=lqdMatthias Krüger-22/+28
coverage: Infer `instances_used` from `pgo_func_name_var_map` In obscure circumstances involving macro-expanded spans, we would sometimes emit a covfun record for a function with no physical coverage counters, and therefore no corresponding entry in the “PGO names” section of the binary. The absence of that name entry causes `llvm-cov` to fail with the cryptic error message: ```text malformed instrumentation profile data: function name is empty ``` We can eliminate this mismatch by removing `instances_used` entirely, and instead inferring its contents from the keys of `pgo_func_name_var_map`. This makes it impossible for a "used" function to lack a PGO name entry. --- This is an attempt to eliminate the cause of rust-lang/rust#141577 when re-landing changes like rust-lang/rust#144298 in the future. I haven't been able to reproduce the underlying issue in an in-tree test, because the only known repro involves a non-trivial derive proc-macro that relies on `syn` and `proc-macro2`. But I have manually verified in a separate branch that this change would have prevented the reoccurrence of https://github.com/rust-lang/rust/issues/141577#issuecomment-3120667286.
2025-07-28Rollup merge of #144503 - bjorn3:lto_refactors3, r=petrochenkovMatthias Krüger-197/+41
Various refactors to the codegen coordinator code (part 3) Continuing from https://github.com/rust-lang/rust/pull/144062 this removes an option without any known users, uses the object crate in favor of LLVM for getting the LTO bitcode and improves the coordinator channel handling.
2025-07-28Rollup merge of #144472 - okaneco:char_bound, r=Mark-SimulacrumMatthias Krüger-14/+26
str: Mark unstable `round_char_boundary` feature functions as const Mark `floor_char_boundary`, `ceil_char_boundary` const Simplify the implementations, reducing the number of arithmetic operations It seems unnecessary to do the lower/upper bounds calculations and extra slicing when we can jump straight to inspecting the bytes, assuming the underlying data is valid UTF-8. Tracking issue https://github.com/rust-lang/rust/issues/93743
2025-07-28Rollup merge of #144399 - bjorn3:stdlib_tests_separate_packages, ↵Matthias Krüger-38/+77
r=Mark-Simulacrum Add a ratchet for moving all standard library tests to separate packages https://github.com/rust-lang/rust/pull/136642 is the previous PR in this series. See https://github.com/rust-lang/rust/pull/135937 for the rationale of wanting to move all standard library tests to separate packages. This also fixes std_detect testing on riscv.
2025-07-28Rollup merge of #144300 - hkBst:clippy-fix-7, r=Mark-SimulacrumMatthias Krüger-13/+12
Clippy fixes for miropt-test-tools
2025-07-28Rollup merge of #144151 - Kivooeo:issue1, r=jieyouxuMatthias Krüger-32/+152
`tests/ui/issues/`: The Issues Strike Back [1/N] I believe I’ve finally brought [my program](https://github.com/Kivooeo/test-manager) to life -- it now handles multiple test moves in one go: plain moves first, then a gentle touch on each file depends on given options. The process should be much smoother now. Of course, I won’t rush through everything in a few days -- that would be unkind to `@Oneirical.` I’ll pace myself. And also I can't have more than one such PR because `issues.txt` will conflict with previous parts after merging them which is not fun as well. This PR is just that: first commit - moves; second - regression comments and the occasional .stderr reblesses, also issue.txt and tidy changes. Nothing special, but progress nonetheless. This is for the purpose of preserving test file history during restructuring Part of https://github.com/rust-lang/rust/issues/133895. r? `@jieyouxu`
2025-07-28Rollup merge of #144072 - usamoi:docs, r=Mark-SimulacrumMatthias Krüger-9/+15
update `Atomic*::from_ptr` and `Atomic*::as_ptr` docs Since https://github.com/rust-lang/rust/pull/128778, it's allowed to perform atomic read and non-atomic read on the same atomic at the same time. Update the `Atomic*::from_ptr` and `Atomic*::as_ptr` documentation to remove expressions such as `not allowed to mix atomic and non-atomic accesses`. see also [std::sync::atomic](https://doc.rust-lang.org/std/sync/atomic/index.html#memory-model-for-atomic-accesses)
2025-07-28Merge ref '733dab558992' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-17351/+25373
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 733dab558992d902d6d17576de1da768094e2cf3 Filtered ref: 8f0faf94fb41d4e2a85ef2d23e5495f6bea1f31d This merge was created using https://github.com/rust-lang/josh-sync.
2025-07-28Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to 733dab558992d902d6d17576de1da768094e2cf3.
2025-07-28Merge pull request #20324 from lnicola/triagebot-josh-syncLaurențiu Nicola-0/+1
minor: Adjust triagebot config for rustc-josh-sync
2025-07-27Remove `[T]::array_chunks(_mut)`Scott McMurray-540/+23
2025-07-28Adjust triagebot config for rustc-josh-syncLaurențiu Nicola-0/+1
2025-07-28Auto merge of #144469 - Kivooeo:chains-cleanup, r=SparrowLiibors-1203/+1109
Some `let chains` clean-up Not sure if this kind of clean-up is welcoming because of size, but I decided to try out one r? compiler
2025-07-28Auto merge of #144556 - matthiaskrgr:rollup-aayo3h5, r=matthiaskrgrbors-464/+641
Rollup of 6 pull requests Successful merges: - rust-lang/rust#143607 (Port the proc macro attributes to the new attribute parsing infrastructure) - rust-lang/rust#144471 (Remove `compiler-builtins-{no-asm,mangled-names}`) - rust-lang/rust#144495 (bump cargo_metadata) - rust-lang/rust#144523 (rustdoc: save target modifiers) - rust-lang/rust#144534 (check_static_item: explain should_check_for_sync choices) - rust-lang/rust#144535 (miri: for ABI mismatch errors, say which argument is the problem) Failed merges: - rust-lang/rust#144536 (miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-28use let chains in mir, resolve, targetKivooeo-450/+417
2025-07-28use let chains in hir, lint, mirKivooeo-308/+279
2025-07-28use let chains in ast, borrowck, codegen, const_evalKivooeo-445/+413
2025-07-28Rollup merge of #144535 - RalfJung:abi-mismatch-err, r=compiler-errorsMatthias Krüger-35/+45
miri: for ABI mismatch errors, say which argument is the problem
2025-07-28Rollup merge of #144534 - RalfJung:should_check_for_sync, r=compiler-errorsMatthias Krüger-3/+9
check_static_item: explain should_check_for_sync choices Follow-up to https://github.com/rust-lang/rust/pull/144226. r? ``@oli-obk``
2025-07-28Rollup merge of #144523 - ojeda:rustdoc-target-modifiers, r=GuillaumeGomezMatthias Krüger-0/+53
rustdoc: save target modifiers `rustdoc` was filling a `target_modifiers` variable, but it was not using the result. In turn, that means that trying to use a dependency that set a target modifier fails. For instance, running: ```sh RUSTC_BOOTSTRAP=1 rustc --edition=2024 --target=aarch64-unknown-none-softfloat --sysroot=/dev/null --emit=metadata -Zfixed-x18 --crate-type rlib --crate-name core $(rustc --print sysroot)/lib/rustlib/src/rust/library/core/src/lib.rs echo '#![allow(internal_features)] ' | RUSTC_BOOTSTRAP=1 rustdoc --edition=2021 --target=aarch64-unknown-none-softfloat --sysroot=/dev/null -Zfixed-x18 --extern core=libcore.rmeta - ``` will fail with: ```text error: mixing `-Zfixed-x18` will cause an ABI mismatch in crate `rust_out` | = help: the `-Zfixed-x18` flag modifies the ABI so Rust crates compiled with different values of this flag cannot be used together safely = note: unset `-Zfixed-x18` in this crate is incompatible with `-Zfixed-x18=` in dependency `core` = help: set `-Zfixed-x18=` in this crate or unset `-Zfixed-x18` in `core` = help: if you are sure this will not cause problems, you may use `-Cunsafe-allow-abi-mismatch=fixed-x18` to silence this error ``` Thus save the targets modifiers in `Options` to then pass it to the session options, so that eventually the diff can be performed as expected in `report_incompatible_target_modifiers()`. Cc: ``@azhogin`` Fixes: https://github.com/rust-lang/rust/issues/144521
2025-07-28Rollup merge of #144495 - klensy:cargo_metadata, r=lqdMatthias Krüger-27/+14
bump cargo_metadata Bumps cargo_metadata. Change that required fixes is: https://github.com/oli-obk/cargo_metadata/commit/e3373d02e79dc64adbecb3fe32fecc1dd324bba6
2025-07-28Rollup merge of #144471 - tgross35:compiler-builtins-asm, r=AmanieuMatthias Krüger-6/+0
Remove `compiler-builtins-{no-asm,mangled-names}` Remove `compiler-builtins-no-asm` This feature used to be for when Cranelift didn't support inline assembly, but its last uses were removed in 52933e0bd200 ("Don't disable inline asm usage in compiler-builtins when the cranelift backend is enabled"). and cba05a7a14b3 ("Support naked functions"). This doesn't remove the feature from the `compiler-builtins` crate, that will be done separately in the subtree repo. --- Remove `compiler-builtins-mangled-names` This config was added in 207de019dc67 ("libary: Forward compiler-builtins "asm" and "mangled-names" feature") but it does not appear this has ever been used. The PR adding it (rust-lang/rust#78472) says that this was exposed to help with configuration and points at the [Hermit Cargo config], but as far as I can tell, this feature name has never been mentioned in that repository's git history. Thus, clean up a seemingly unneeded feature. [Hermit Cargo config]: https://github.com/hermit-os/hermit-rs/blob/ab2b830930e6a9a98c8294997a8183feeabeda4a/.cargo/config
2025-07-28Rollup merge of #143607 - JonathanBrouwer:proc_macro_attrs, ↵Matthias Krüger-393/+520
r=jdonszelmann,traviscross Port the proc macro attributes to the new attribute parsing infrastructure Ports `#[proc_macro]`, `#[proc_macro_attribute]`, `#[proc_macro_derive]` and `#[rustc_builtin_macro]` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971351163 I've split this PR into commits for reviewability, and left some comments to clarify things I did 4 related attributes in one PR because they share a lot of their code and logic, and doing them separately is kind of annoying as I need to leave both the old and new parsing in place then. r? ``@oli-obk`` cc ``@jdonszelmann``
2025-07-27Auto merge of #144225 - purplesyringa:unwinding-intrinsics, r=nikicbors-10/+25
Don't special-case llvm.* as nounwind Certain LLVM intrinsics, such as `llvm.wasm.throw`, can unwind. Marking them as nounwind causes us to skip cleanup of locals and optimize out `catch_unwind` under inlining or when `llvm.wasm.throw` is used directly by user code. The motivation for forcibly marking llvm.* as nounwind is no longer present: most intrinsics are linked as `extern "C"` or other non-unwinding ABIs, so we won't codegen `invoke` for them anyway. Closes rust-lang/rust#132416. `@rustbot` label +T-compiler +A-panic
2025-07-27Merge pull request #20319 from Veykril/push-znwukpmpsqxtLukas Wirth-21/+15
fix: Consider all produced artifacts for proc-macro dylib search
2025-07-27fix: Consider all produced artifacts for proc-macro dylib searchLukas Wirth-21/+15
2025-07-27Merge pull request #20318 from Veykril/push-vpqsrylmkqqmLukas Wirth-20/+58
fix: Ignore `Destruct` bounds again
2025-07-27Ignore `Destruct` bounds againLukas Wirth-2/+41
2025-07-27Cleanup unstable flags handlingLukas Wirth-19/+18