about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-07-01Avoid computing layouts inside coroutines.Camille GILLOT-1/+8
2025-07-01Remove extraneous types.Camille GILLOT-134/+80
2025-07-01Store a full Ty with each Value.Camille GILLOT-136/+122
2025-07-01Introduce Value::RawPtr as it behaves differently from other aggregates.Camille GILLOT-55/+67
2025-07-01Simplify assignments.Camille GILLOT-28/+33
2025-06-23Auto merge of #142907 - lnicola:sync-from-ra, r=lnicolabors-1241/+2756
Subtree update of `rust-analyzer` r? `@ghost`
2025-06-23Auto merge of #142906 - jdonszelmann:rollup-togt1dl, r=jdonszelmannbors-1010/+633
Rollup of 5 pull requests Successful merges: - rust-lang/rust#142493 (rework `#[naked]` attribute parser) - rust-lang/rust#142636 (bootstrap.example.toml: use less contextual format) - rust-lang/rust#142822 (Make `PartialEq` a `const_trait`) - rust-lang/rust#142892 (Fix ICE on debug builds where lints are delayed on the crate root) - rust-lang/rust#142904 (notify me when rdg is touched) Failed merges: - rust-lang/rust#142827 (Move error code explanation removal check into tidy) r? `@ghost` `@rustbot` modify labels: rollup
2025-06-23Rollup merge of #142904 - tshepang:patch-1, r=jieyouxuJana Dönszelmann-1/+1
notify me when rdg is touched r? jieyouxu
2025-06-23Rollup merge of #142892 - jdonszelmann:fix-142891, r=oli-obkJana Dönszelmann-1/+28
Fix ICE on debug builds where lints are delayed on the crate root r? ``@oli-obk`` Closes rust-lang/rust#142891 thanks to ``@JonathanBrouwer`` for finding it!
2025-06-23Rollup merge of #142822 - oli-obk:const-partial-eq, r=fee1-deadJana Dönszelmann-606/+117
Make `PartialEq` a `const_trait` r? ``@fee1-dead`` or ``@compiler-errors`` something generally useful but also required for https://github.com/rust-lang/rust/pull/142789
2025-06-23Rollup merge of #142636 - lolbinarycat:bootstrap-example-unsection, r=KobzolJana Dönszelmann-202/+222
bootstrap.example.toml: use less contextual format prefixing each key with its section means you don't need to scroll up 4 pages to see which section a particular key is from. target specific options were kept in old format since the exact section name depends on the target, so those options must now be moved to the bottom of the file. [inspired by zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/consider.20rewriting.20bootstrap.2Eexample.2Etoml.20to.20use.20section.2Ekey/with/521734873) r? ``@workingjubilee``
2025-06-23Rollup merge of #142493 - jdonszelmann:naked, r=oli-obkJana Dönszelmann-200/+265
rework `#[naked]` attribute parser r? ``@oli-obk``
2025-06-23move naked checks out of check_attr.rsJana Dönszelmann-194/+211
2025-06-23make warnings methods on cx so it's easier to emit them elsewhere tooJana Dönszelmann-8/+28
2025-06-23rewrite #[naked] parserJana Dönszelmann-16/+44
2025-06-23fix 142891Jana Dönszelmann-1/+25
2025-06-23test for lint on root node crashJana Dönszelmann-0/+3
2025-06-23Auto merge of #142792 - cuviper:version-1.90, r=cuviperbors-1/+1
Bump the version number to 1.90.0 Part of the release process. This PR must not be rolled up. r? cuviper
2025-06-23notify me when rdg is touchedTshepang Mbambo-1/+1
2025-06-23Make `PartialEq` a `const_trait`Oli Scherer-606/+117
2025-06-23Auto merge of #142901 - matthiaskrgr:rollup-topt4p6, r=matthiaskrgrbors-97/+1854
Rollup of 5 pull requests Successful merges: - rust-lang/rust#141597 (Document subdirectories of UI tests with README files) - rust-lang/rust#142823 (Port `#[no_mangle]` to new attribute parsing infrastructure) - rust-lang/rust#142828 (1.88.0 release notes) - rust-lang/rust#142854 (centralize `-Zmin-function-alignment` logic) - rust-lang/rust#142875 (Check rustdoc-json-types FORMAT_VERSION is correctly updated) r? `@ghost` `@rustbot` modify labels: rollup
2025-06-23Rollup merge of #142875 - GuillaumeGomez:rustdoc-json-types-version-update, ↵Matthias Krüger-0/+25
r=Kobzol Check rustdoc-json-types FORMAT_VERSION is correctly updated Follow-up of https://github.com/rust-lang/rust/pull/142677. ``@nnethercote`` suggested that we should also ensure that the `FORMAT_VERSION` was only increased by 1 and we should check for it, this PR does it. cc ``@aDotInTheVoid`` r? ghost
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-22Port `#[no_mangle]` to new attribute parsing infrastructureJonathan Brouwer-80/+120
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
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-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-22Fix tests to drop now-skipped codegenMark Rousskov-16/+53
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-22Check rustdoc-json-types FORMAT_VERSION correct changeGuillaume Gomez-0/+25
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-69/+151
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
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>