about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-06-23Rollup merge of #142854 - folkertdev:centralize-min-function-alignment, ↵Matthias Krüger-17/+10
r=workingjubilee centralize `-Zmin-function-alignment` logic tracking issue: https://github.com/rust-lang/rust/issues/82232 discussed in: https://github.com/rust-lang/rust/pull/142824#discussion_r2160056244 Apply the `-Zmin-function-alignment` value to the alignment field of the function attributes when those are created, so that individual backends don't need to consider it. The one exception right now is cranelift, because it can't yet set the alignment for individual functions, but it can (and does) set the global minimum function alignment. cc ``@RalfJung`` I think this is an improvement regardless, is there anything else that should be done for miri?
2025-06-23Rollup merge of #142828 - Mark-Simulacrum:relnotes, r=Mark-SimulacrumMatthias Krüger-0/+100
1.88.0 release notes r? cuviper
2025-06-23Rollup merge of #142823 - JonathanBrouwer:no_mangle_parser, r=jdonszelmannMatthias Krüger-80/+120
Port `#[no_mangle]` to new attribute parsing infrastructure Ports `no_mangle` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197 r? ``@jdonszelmann``
2025-06-23Rollup merge of #141597 - Oneirical:unquestionable-instruction, r=jieyouxuMatthias Krüger-0/+1599
Document subdirectories of UI tests with README files Part of rust-lang/rust#133895 and the [2025 Google Summer of Code](https://blog.rust-lang.org/2025/05/08/gsoc-2025-selected-projects/) associated project. When adding a new UI test, one is faced with hundreds of subdirectories in `tests/ui` reflecting various categories. Knowing where to put the new test is not trivial, as many of the categories have slightly misleading names. For example, `moves` does not only refer to the `move` keyword but to functions taking ownership in general, whereas `allocator` does not refer to allocation in general but rather to the very specific `allocator_api` and `global_allocator` features. Many contributors will therefore place their test at the top level of ̀`tests/ui` where it will be mixed with hundreds of unrelated tests. This PR is a tentative move towards more clearly defined tag/categories, with a SUMMARY.md file documenting the true purpose of each subdirectory, placed inside `tests/ui`. r? ``@jieyouxu``
2025-06-23Auto merge of #142898 - ehuss:update-cargo, r=ehussbors-0/+0
Update cargo 7 commits in 2251525ae503fa196f6d7f9ce6d32eccb2d5f044..84709f085062cbf3c51fa507527c1b2334015178 2025-06-16 22:01:27 +0000 to 2025-06-22 23:58:39 +0000 - Bump cargo-util-schemas version (rust-lang/cargo#15696) - test(msrv): use a far future "newer" version (rust-lang/cargo#15693) - Plumb rustc `-Zhint-mostly-unused` flag through as a profile option (rust-lang/cargo#15643) - Disable lldb test, which seems to be broken due to issues with lldb (rust-lang/cargo#15687) - docs(contrib): change clap URL to docs.rs/clap (rust-lang/cargo#15682) - feat: Introduce perma unstable `--compile-time-deps` option for `cargo build` (rust-lang/cargo#15674) - fix: Failing tests on rustc nightly (rust-lang/cargo#15679)
2025-06-22Update cargoEric Huss-0/+0
2025-06-22Auto merge of #142728 - kornelski:string-track, r=tgross35bors-0/+23
Let String pass #[track_caller] to its Vec calls I've added `#[track_caller]` to `String` methods that delegate to `Vec` methods that already have `#[track_caller]`. I've also added `#[track_caller]` to methods that have `assert!` or `panic!` due to invalid inputs.
2025-06-22phantom_variance_markers: fix identifier usage in macroLaine Taffin Altman-1/+1
This shouldn't have worked originally, as far as we can tell.
2025-06-22Stop collecting unmentioned constantsMark Rousskov-11/+8
This avoids generating useless dead LLVM IR.
2025-06-23Don't run doctestsChayim Refael Friedman-0/+32
2025-06-23In "Wrap return type" assist, don't wrap exit points if they already have ↵Chayim Refael Friedman-34/+133
the right type
2025-06-22Hash less while hashing def-ids.Camille GILLOT-3/+15
2025-06-22Only inherit local hash for paths.Camille GILLOT-12/+22
2025-06-22Port `#[no_mangle]` to new attribute parsing infrastructureJonathan Brouwer-6/+6
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-22Port `#[no_mangle]` to new attribute parsing infrastructureJonathan Brouwer-80/+120
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-22Cache queries.Camille GILLOT-0/+1
2025-06-22Auto merge of #142508 - Mark-Simulacrum:skip-noop-drop-glue, r=fee1-deadbors-18/+86
Skip no-op drop glue Since rust-lang/rust#122662 this no longer gets used in vtables, so we're safe to fully drop generating functions from vtables. Those are eventually cleaned up by LLVM, but it's wasteful to produce them in the first place. This doesn't appear to be a significant win (and shows some slight regressions) but seems like the right thing to do. At minimum it reduces noise in the LLVM IR we generate, which seems like a good thing.
2025-06-22Only compute recursive callees once.Camille GILLOT-134/+152
2025-06-22ci: aarch64-gnu: Stop skipping `panic_abort_doc_tests`Martin Nordholts-2/+1
The skipped test passes since nightly-2024-11-29. Let's stop skipping it to increase the chance of detecing a regression.
2025-06-22add method to retrieve body of coroutineMakai-0/+111
2025-06-22Auto merge of #142878 - GuillaumeGomez:rollup-53dohob, r=GuillaumeGomezbors-515/+594
Rollup of 10 pull requests Successful merges: - rust-lang/rust#142458 (Merge unboxed trait object error suggestion into regular dyn incompat error) - rust-lang/rust#142593 (Add a warning to LateContext::get_def_path) - rust-lang/rust#142594 (Add DesugaringKind::FormatLiteral) - rust-lang/rust#142740 (Clean-up `FnCtxt::is_destruct_assignment_desugaring`) - rust-lang/rust#142780 (Port `#[must_use]` to new attribute parsing infrastructure) - rust-lang/rust#142798 (Don't fail to parse a struct if a semicolon is used to separate fields) - rust-lang/rust#142856 (Add a few inline directives in rustc_serialize.) - rust-lang/rust#142868 (remove few allow(dead_code)) - rust-lang/rust#142874 (cranelift: fix target feature name typo: "fxsr") - rust-lang/rust#142877 (Document why tidy checks if `eslint` is installed via `npm`) r? `@ghost` `@rustbot` modify labels: rollup
2025-06-22Add a SUMMARY.md outlining immediate subdirectories of the ui test suiteOneirical-0/+1599
Co-authored-by: Jieyou Xu <jieyouxu@outlook.com>
2025-06-22Init local_names lazily for borrowck diagnosticsKornel-44/+58
2025-06-22Fix tests to drop now-skipped codegenMark Rousskov-16/+53
2025-06-22Avoid panic when debug info is missingKornel-3/+7
2025-06-22Remove dead instructions in terminate blocksMark Rousskov-2/+2
2025-06-22Remove dead instructions in terminate blocksMark Rousskov-5/+4
2025-06-22Rollup merge of #142877 - ↵Guillaume Gomez-0/+3
yotamofek:pr/rustdoc/comment-eslint-installation-req, r=GuillaumeGomez Document why tidy checks if `eslint` is installed via `npm` Discussion here: rust-lang/rust#142851
2025-06-22Rollup merge of #142874 - marxin:cranelift-typo-fix, r=bjorn3Guillaume Gomez-2/+2
cranelift: fix target feature name typo: "fxsr" Fix a typo introduced in 71b698c0b81c2e35c852ebcdf1f5cbe9e9162a50 CC: `@clubby789` `@bjorn3`
2025-06-22Rollup merge of #142868 - klensy:dc, r=oli-obkGuillaume Gomez-6/+1
remove few allow(dead_code) Few from serial/parallel compiler leftovers and few from bootstrap.
2025-06-22Rollup merge of #142856 - cjgillot:inline-serialize, r=petrochenkovGuillaume Gomez-0/+4
Add a few inline directives in rustc_serialize. I see `debug_strict_add` and `debug_strict_sub` appearing in callgrind output. This bothers me. This PR should make them disappear.
2025-06-22Rollup merge of #142798 - camsteffen:recover-semi, r=compiler-errorsGuillaume Gomez-39/+30
Don't fail to parse a struct if a semicolon is used to separate fields The first commit is a small refactor.
2025-06-22Rollup merge of #142780 - JonathanBrouwer:must_use_new_attr, r=jdonszelmannGuillaume Gomez-69/+151
Port `#[must_use]` to new attribute parsing infrastructure Ports `must_use` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197 r? `@jdonszelmann`
2025-06-22Rollup merge of #142740 - ada4a:is-destruct-assignment-desugaring, r=fee1-deadGuillaume Gomez-13/+12
Clean-up `FnCtxt::is_destruct_assignment_desugaring` I noticed the docstring thing and fixed that; then I thought I'd rewrite the method using let-chains while I'm at it, since that seemed appropriate. But I don't feel too strongly about the second change, so let me know if I should remove it
2025-06-22Rollup merge of #142594 - mejrs:new_desugaring, r=chenyukangGuillaume Gomez-165/+290
Add DesugaringKind::FormatLiteral Implements `DesugaringKind::FormatLiteral` to mark the FormatArgs desugaring of format literals. The main use for this is to stop yapping about about formatting parameters if we're not anywhere near a format literal. The other use case is to fix suggestions such as https://github.com/rust-lang/rust/issues/141350. It might also be useful for new or existing diagnostics that check whether they're in a format-like macro. cc `@xizheyin` `@fmease`
2025-06-22Rollup merge of #142593 - blyxyas:improve-docs-itty-bitty-change, ↵Guillaume Gomez-0/+9
r=compiler-errors Add a warning to LateContext::get_def_path Preventing anyone from doing the same error as https://github.com/rust-lang/rust-clippy/pull/15043 fixed
2025-06-22Rollup merge of #142458 - oli-obk:dyn-incompat, r=compiler-errorsGuillaume Gomez-221/+92
Merge unboxed trait object error suggestion into regular dyn incompat error Another hir-walker removed from the well-formed queries. This error was always a duplicate of another, but it was able to provide more information because it could invoke `is_dyn_compatible` without worrying about cycle errors. That's also the reason we can't put the error directly into hir_ty_lowering when lowering a `dyn Trait` within an associated item signature. So instead I packed it into the error handling of wf obligation checking.
2025-06-22Document why tidy checks if `eslint` is installed via `npm`Yotam Ofek-0/+3
2025-06-22Don't suggest changing a method inside a expansionUrgau-3/+35
2025-06-22Check rustdoc-json-types FORMAT_VERSION correct changeGuillaume Gomez-0/+25
2025-06-22Address review commentsUrgau-11/+43
2025-06-22cranelift: fix target feature name type: "fxsr"Martin Liska-1/+1
2025-06-22cranelift: fix target feature name type: "fxsr"Martin Liska-2/+2
2025-06-22Auto merge of #142706 - fee1-dead-contrib:push-zsznlqyrzsqo, r=oli-obkbors-725/+468
completely deduplicate `Visitor` and `MutVisitor` r? oli-obk This closes rust-lang/rust#127615. ### Discussion > * Give every `MutVisitor::visit_*` method a corresponding `flat_map_*` method. Not every AST node exists in a location where they can be mapped to multiple instances of themselves. Not every AST node exists in a location where they can be removed from existence (e.g. `filter_map_expr`). I don't think this is doable. > * Give every `MutVisitor::visit_*` method a corresponding `Visitor` method and vice versa The only three remaining method-level asymmetries after this PR are `visit_stmt` and `visit_nested_use_tree` (only on `Visitor`) and `visit_span` (only on `MutVisitor`). `visit_stmt` doesn't seem applicable to `MutVisitor` because `walk_flat_map_stmt_kind` will ask `flat_map_item` / `filter_map_expr` to potentially turn a single `Stmt` to multiple based on what a visitor wants. So only using `flat_map_stmt` seems appropriate. `visit_nested_use_tree` is used for `rustc_resolve` to track stuff. Not useful for `MutVisitor` for now. `visit_span` is currently not used for `MutVisitor` already, it was just kept in case we want to revive rust-lang/rust#127241. cc `@cjgillot` maybe we could remove for now and re-insert later if we find a use-case? It does involve some extra effort to maintain. * Remaining FIXMEs `visit_lifetime` has an extra param for `Visitor` that's not in `MutVisitor`. This is again something only used by `rustc_resolve`. I think we can keep that symmetry for now.
2025-06-22Port `#[must_use]` to new attribute parsing infrastructureJonathan Brouwer-20/+40
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-22Port `#[must_use]` to new attribute parsing infrastructureJonathan Brouwer-69/+151
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-22Make doc for transpose api betteryukang-6/+6
2025-06-22Leave from CopyProp early when there are no replacementsTomasz Miąsko-8/+10
2025-06-22Indicate change is coming in the next release.Mark Rousskov-1/+1
Co-authored-by: 许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com>
2025-06-22Turn a comment that looks like a docstring into a docstringAda Alakbarova-13/+12
rewrite using let-chains