about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-07-11update cargo_metadata to 0.21.0asahi-myzk-5/+36
2025-07-10Rollup merge of #143744 - fmease:lta-expand-proper-depth, r=compiler-errorsTrevor Gross-2/+24
Properly track the depth when expanding free alias types Decrease the depth after the fold so as not to affect the depth for unrelated same-level constituent types. My bad. Fixes rust-lang/rust#142419.
2025-07-10Rollup merge of #143742 - estebank:borrow-suggestion, r=compiler-errorsTrevor Gross-179/+316
Rework borrowing suggestions to use `Expr` instead of just `Span` In the suggestion machinery for borrowing expressions and types, always use the available obligation `Span` to find the appropriate `Expr` to perform appropriateness checks no the `ExprKind` instead of on the textual snippet corresponding to the `Span`. (We were already doing this, but only for a subset of cases.) This now better handles situations where parentheses and `<>` are needed for correct syntax (`&(foo + bar)`, `(&foo).bar()`, `<&Foo>::bar()`, etc.). Unify the logic for the case where `&` *and* `&mut` are appropriate with the logic for only one of those cases. (Instead of having two branches for emitting the suggestion, we now have a single one, using `Diag::multipart_suggestions` always.) Handle the case when `S::foo()` should have been `<&S>::foo()` (instead of suggesting the prior `&S::foo()`. Fix rust-lang/rust#143393. Make `Diag::multipart_suggestions` always verbose. CC rust-lang/rust#141973.
2025-07-10Rollup merge of #143728 - LorrensP-2158466:refactor-resolve-extraction, ↵Trevor Gross-118/+143
r=petrochenkov Resolve refactor: extraction of `finalize_module_binding` and `single_import_can_define_name` This pr the work Vadim asked for in https://github.com/rust-lang/rust/pull/142547#issuecomment-3001339385. This part: > finalize_module_binding/single_import_can_define_name extraction Cherry-picked commits of b-naber. Extraction of 2 processes in `resolve_ident_in_module_unadjusted`: - `finalize_module_binding` - `single_import_can_define_name` r? ```@petrochenkov```
2025-07-10Rollup merge of #143722 - oli-obk:sound-llvm, r=dianqkTrevor Gross-7/+9
Make some "safe" llvm ops actually sound Noticed while doing other refactorings it may cause some extra unnecessary allocations, but the current use sites are rare ones anyway
2025-07-10Rollup merge of #143707 - Kobzol:bootstrap-std-check, r=jieyouxuTrevor Gross-7/+31
Fix `--skip-std-check-if-no-download-rustc` Since https://github.com/rust-lang/rust/pull/143048, we now explicitly set the build compiler for `check::Std`, which caused it to be built before we checked `--skip-std-check-if-no-download-rustc`. So I moved the check earlier to `make_run`, which resolves it. I also added a regression test for this. Sadly we can't really test for the positive case easily (when download-ci-rustc is enabled), but we can test the negative cases, where it is disabled. Fixes: https://github.com/rust-lang/rust/issues/143705 r? ```@RalfJung```
2025-07-10Rollup merge of #143642 - Kobzol:stdarch-push, r=AmanieuTrevor Gross-455/+243
stdarch subtree update Subtree update of `stdarch` to https://github.com/rust-lang/stdarch/commit/b262a9af852cb30928bb44c62c2c3fa92246bbeb. Created using https://github.com/rust-lang/josh-sync. r? ```@ghost```
2025-07-10Rollup merge of #140136 - dpaoliello:arm64winci, r=KobzolTrevor Gross-5/+50
Add an aarch64-msvc build running on ARM64 Windows Resurrecting rust-lang/rust#126341 Per <https://github.com/rust-lang/rfcs/pull/3817> we intend to promote `aarch64-pc-windows-msvc` to Tier 1. As part of that work, we are adding a pre-merge CI job to validate that changes do not break this target. Additionally, for consistency, the `dist-aarch64-msvc` job will also be run on Arm64 Windows runners. r? ``@Kobzol`` try-job: `*aarch64-msvc*`
2025-07-11fix typos in function names in the `target_feature` testFluid-3/+3
2025-07-11Split up the `unknown_or_malformed_diagnostic_attributes` lintmejrs-59/+157
2025-07-10`arithmetic_side_effects`: don't warn on `NonZeroU*.get() - 1` (#15238)Alejandra González-26/+43
changelog: [`arithmetic_side_effects`]: don't warn on `NonZeroU*.get() - 1` fixes rust-lang/rust-clippy#15225
2025-07-10Upgrade `iai-callgrind` to 0.15Trevor Gross-3/+3
Pick up the latest version of iai-callgrind, which includes some output improvements. Changelog: https://github.com/iai-callgrind/iai-callgrind/releases
2025-07-11fix(arithmetic_side_effects): don't warn on `NonZeroU*.get() - 1`Ada Alakbarova-26/+43
2025-07-10Merge pull request #1857 from folkertdev/arm-dupSayantan Chakraborty-67/+44
use `splat` for the aarch64/arm dup intrinsics
2025-07-10Upgrade dependencies to the latest versionTrevor Gross-4/+4
This picks up a fix in `rustc_apfloat` [1] that resolves a problem with `fma`. [1]: https://github.com/rust-lang/rustc_apfloat/releases/tag/rustc_apfloat-v0.2.3%2Bllvm-462a31f5a5ab
2025-07-10or_fun_call: lint method calls inside map_or first arg (#15074)llogiq-36/+71
<strike>blocked on rust-lang/rust-clippy#15073</strike> Lint method calls inside `map_or` too, so for this, lint will be showed: ```rust Some(4).map_or("asd".to_string().len() as i32, f); ``` previously it worked only for: ```rust Some(4).map_or(slow_fun(), f); ``` https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&gist=bfcda42a6af446e69bc883a8b45eb13c Sorry for multiple `or_fun_call` PRs. changelog: [`or_fun_call`]: lint method calls inside map_or first arg
2025-07-10Fix few typos (#15218)llogiq-7/+7
Fix few typos changelog: none
2025-07-10Merge pull request #20228 from ChayimFriedman2/fix-use-displayChayim Refael Friedman-0/+1
fix: Fix display of `use<>` syntax
2025-07-11Fix display of `use<>` syntaxChayim Refael Friedman-0/+1
2025-07-10Auto merge of #143746 - matthiaskrgr:rollup-yaojj7t, r=matthiaskrgrbors-767/+648
Rollup of 9 pull requests Successful merges: - rust-lang/rust#143446 (use `--dynamic-list` for exporting executable symbols) - rust-lang/rust#143590 (Fix weird rustdoc output when single and glob reexport conflict on a name) - rust-lang/rust#143599 (emit `.att_syntax` when global/naked asm use that option) - rust-lang/rust#143615 (Fix handling of no_std targets in `doc::Std` step) - rust-lang/rust#143632 (fix: correct parameter names in LLVMRustBuildMinNum and LLVMRustBuildMaxNum FFI declarations) - rust-lang/rust#143640 (Constify `Fn*` traits) - rust-lang/rust#143651 (Win: Use exceptions with empty data for SEH panic exception copies instead of a new panic) - rust-lang/rust#143660 (Disable docs for `compiler-builtins` and `sysroot`) - rust-lang/rust#143665 ([rustdoc-json] Add tests for `#[doc(hidden)]` handling of items.) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-10Cleanup feature_freeze workflow (#15231)Alejandra González-13/+23
Delete the step and the conditional that checks `changes != '[]'` (`github.event.pull_request.changed_file`s returns the number of files changed in the pull request - not the list of changed files) Escape newlines in the comment body safely Use Bearer instead of deprecated token changelog: none
2025-07-10Add target maintainer information for aarch64-unknown-linux-muslJens Reidel-1/+51
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-07-10refactor legacy_numeric_constants to use multipart suggestionSamuel Tardieu-13/+23
This removes the need for using source snippets in the replacement.
2025-07-10refactor legacy_numeric_constants to check calls instead of pathsSamuel Tardieu-14/+10
This also moves the lint to be posted on the call.
2025-07-10cleanup legacy_numeric_constantsDan Johnson-2/+2
Removes an unnecessary use of `span_lint_hir_and_then()` where `span_lint_and_then()` would do.
2025-07-10add extra legacy_numeric_constants test casesSamuel Tardieu-2/+40
2025-07-10fix `legacy_numeric_constants` suggestion when call is wrapped in parensDan Johnson-17/+107
2025-07-10Add clippy_test_deps to workspace member of repoPhilipp Krones-0/+1
2025-07-10Update Cargo.lockPhilipp Krones-22/+58
2025-07-10Rollup merge of #143665 - obi1kenobi:pg/doc-hidden-tests, r=aDotInTheVoidMatthias Krüger-0/+36
[rustdoc-json] Add tests for `#[doc(hidden)]` handling of items. Add tests which check: - `#[doc(hidden)]` items are not present in rustdoc JSON output by default. - Invoking rustdoc with `--document-hidden-items` makes `#[doc(hidden)]` items appear, and they show their `#[doc(hidden)]` status appropriately. r? `@aDotInTheVoid`
2025-07-10Rollup merge of #143660 - cuviper:lib-doc-false, r=tgross35Matthias Krüger-4/+6
Disable docs for `compiler-builtins` and `sysroot` Bootstrap already had a manual doc filter for the `sysroot` crate, but other library crates keep themselves out of the public docs by setting `[lib] doc = false` in their manifest. This seems like a better solution to hide `compiler-builtins` docs, and removes the `sysroot` hack too. Fixes rust-lang/rust#143215 (after backport) ```@rustbot``` label beta-nominated
2025-07-10Rollup merge of #143651 - Fulgen301:seh-exception-ptr, r=ChrisDentonMatthias Krüger-4/+14
Win: Use exceptions with empty data for SEH panic exception copies instead of a new panic For unwinding with SEH, we currently construct a C++ exception with the panic data. Being a regular C++ exception, it interacts with the C++ exception handling machinery and can be retrieved via `std::current_exception`, which needs to copy the exception. We can't support that, so we panic, which throws another exception, which the C++ runtime tries to copy and store into the exception_ptr, which panics again, which causes the C++ runtime to store a `bad_exception` instance. However, this doesn't work because the panics thrown by the copy function will be dropped without being rethrown, and causes unnecessary log spam in stderr. Fix this by directly throwing an exception without data, which doesn't cause log spam and can be dropped without being rethrown. Fixes rust-lang/rust#143623. This also happens to be the solution ``@dpaoliello`` suggested, though I'm not sure how to handle the commit credit attribution.
2025-07-10Rollup merge of #143640 - oli-obk:const-fn-traits, r=compiler-errorsMatthias Krüger-626/+146
Constify `Fn*` traits r? `@compiler-errors` `@fee1-dead` this should unlock a few things. A few `const_closures` tests have broken even more than before, but that feature is marked as incomplete anyway cc rust-lang/rust#67792
2025-07-10Rollup merge of #143632 - dillona:ffi-param-names, r=jieyouxuMatthias Krüger-2/+2
fix: correct parameter names in LLVMRustBuildMinNum and LLVMRustBuildMaxNum FFI declarations
2025-07-10Rollup merge of #143615 - Kobzol:doc-std, r=jieyouxuMatthias Krüger-68/+174
Fix handling of no_std targets in `doc::Std` step The previous logic was wrong for no_std targets, it just didn't do anything. The logic was added there because by default, the `Std` step would otherwise have a list of all std crates to check, but these would fail for no_std targets. What has to happen instead is to select the default set of packages to check/doc/build, which currently happens in the `std_cargo` function, but the `self.crates` list was overriding that. In general, using `crates: Vec<String>` in the `Std` steps is quite fishy, because it's difficult to distinguish between all crates (either they are all enumerated or `crates` is empty) and the default (e.g. `x <kind> [library]`) vs a subset (e.g. `x <kind> core`). I wanted to improve that using an enum that would distinguish these situations, avoid passing `-p` for all of the crates explicitly, and unify the selection of packages to compile/check/... in `std_cargo`, based on this enum. However, I found out from some other bootstrap comments that when you pass `-p` explicitly for all crates, cargo behaves differently (apparently for check it will also check targets/examples etc. with `-p`, but not without it). Furthermore, the doc step has a special case where it does not document the `sysroot` package. So as usually, unifying this logic would get into some edge cases... So instead I opted for a seemingly simpler solution, where I try to prefilter only two allowed crates (core and alloc) for no_std targets in the `std_crates_for_run_make` function. It's not perfect, but I think it's better than the status quo (words to live by when working on bootstrap...). Fixes [this Zulip topic](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/docs.20for.20non-host.20targets.3F). r? `@jieyouxu`
2025-07-10Rollup merge of #143599 - folkertdev:x86-asm-syntax-global-naked-asm, r=AmanieuMatthias Krüger-7/+90
emit `.att_syntax` when global/naked asm use that option fixes https://github.com/rust-lang/rust/issues/143542 LLVM would error when using `-Cllvm-args=-x86-asm-syntax=intel` in combination with global/naked assembly with `att_syntax`. It turns out that for LLVM you do in this case need to emit `.att_syntax`. r? `@Amanieu`
2025-07-10Rollup merge of #143590 - GuillaumeGomez:reexport-shadowing, r=lolbinaryMatthias Krüger-40/+125
Fix weird rustdoc output when single and glob reexport conflict on a name Fixes rust-lang/rust#143107. The problem was that the second reexport would overwrite the first, leading to having unexpected results. To fix it, I now group items by their original `DefId` and their name and keep tracks of all imports for this item (should very rarely be more than one though, and even less often more than 2). cc `@lolbinarycat`
2025-07-10Rollup merge of #143446 - usamoi:export-executable-symbols, r=bjorn3,oli-obkMatthias Krüger-16/+55
use `--dynamic-list` for exporting executable symbols closes rust-lang/rust#101610 cc rust-lang/rust#84161 https://sourceware.org/binutils/docs-2.39/ld/VERSION.html: > --dynamic-list=dynamic-list-file Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. `ld.lld --help`: > --dynamic-list=<file>: Similar to --export-dynamic-symbol-list. When creating a shared object, this additionally implies -Bsymbolic but does not set DF_SYMBOLIC > --export-dynamic-symbol-list=file: Read a list of dynamic symbol patterns. Apply --export-dynamic-symbol on each pattern > --export-dynamic-symbol=glob: (executable) Put matched symbols in the dynamic symbol table. (shared object) References to matched non-local STV_DEFAULT symbols shouldn't be bound to definitions within the shared object. Does not imply -Bsymbolic. > --export-dynamic: Put symbols in the dynamic symbol table Use `--dynamic-list` because it's older than `--export-dynamic-symbol-list` (binutils 2.35) try-job: dist-i586-gnu-i586-i686-musl
2025-07-10Merge commit 'cdbbf3afda0b1bf51568b368f629b1d828507f98' into ↵Philipp Krones-476/+2760
clippy-subtree-update
2025-07-10Merge commit 'cdbbf3afda0b1bf51568b368f629b1d828507f98' into ↵Philipp Krones-476/+2760
clippy-subtree-update
2025-07-10Cleanup feature_freezealexey semenyuk-13/+23
2025-07-10Rustup (#15243)Philipp Krones-99/+162
r? @ghost changelog: none
2025-07-10Bump nightly version -> 2025-07-10Philipp Krones-2/+2
2025-07-10Merge remote-tracking branch 'upstream/master' into rustupPhilipp Krones-495/+2780
2025-07-10Properly track the depth when expanding free alias typesLeón Orell Valerian Liehr-2/+24
2025-07-10Update testEsteban Küber-14/+70
2025-07-10Make `Diag::multipart_suggestions` always verboseEsteban Küber-110/+187
2025-07-10Rework borrowing suggestions to use `Expr` instead of just `Span`Esteban Küber-213/+217
In the suggestion machinery for borrowing expressions and types, always use the available obligation `Span` to find the appropriate `Expr` to perform appropriateness checks no the `ExprKind` instead of on the textual snippet corresponding to the `Span`. Unify the logic for the case where `&` *and* `&mut` are appropriate with the logic for only one of those cases. Handle the case when `S::foo()` should have been `<&S>::foo()` (instead of suggesting the prior `&S::foo()`.
2025-07-10Remove `min-specialization` feature from `WasmComponentLd`Jakub Beránek-1/+1
2025-07-10Auto merge of #143525 - Shourya742:2025-07-06-add-profiler, r=Kobzolbors-30/+227
Add profiler to bootstrap command This PR adds command profiling to the bootstrap command. It tracks the total execution time and records cache hits for each command. It also provides the ability to export execution result to a JSON file. Integrating this with Chrome tracing could further enhance observability. r? `@Kobzol`