about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-08-14Track diagnostic generations per packageLukas Wirth-24/+32
2025-08-14Merge pull request #20455 from A4-Tacks/fix-indent-conv-match-to-let-elseShoyu Vanilla (Flint)-6/+58
Fix indent for convert_match_to_let_else
2025-08-14Merge pull request #20456 from A4-Tacks/match-with-if-let-guardShoyu Vanilla (Flint)-12/+52
Add guard to let-chain for replace_match_with_if_let
2025-08-14Add guard to let-chain for replace_match_with_if_letA4-Tacks-12/+52
```rust fn main() { match$0 Some(0) { Some(n) if n % 2 == 0 && n != 6 => (), _ => code(), } } ``` -> ```rust fn main() { if let Some(n) = Some(0) && n % 2 == 0 && n != 6 { () } else { code() } }
2025-08-14Fix indent for convert_match_to_let_elseA4-Tacks-6/+58
Example --- ``` //- minicore: option fn f() { let x$0 = match Some(()) { Some(it) => it, None => {//comment println!("nope"); return }, }; } ``` **Old output**: ```rust fn f() { let Some(x) = Some(()) else {//comment println!("nope"); return }; } ``` **This PR output**: ```rust fn f() { let Some(x) = Some(()) else {//comment println!("nope"); return }; } ```
2025-08-13Merge pull request #20390 from A4-Tacks/if-else-comp-in-args-or-letChayim Refael Friedman-1/+127
Add if..else completions in LetStmt and ArgList
2025-08-13Merge pull request #20448 from donni-h/patch-2Chayim Refael Friedman-1/+1
Fix dead link to Cargo.toml in documentation
2025-08-13Merge pull request #20450 from Wilfred/update_vsceLaurențiu Nicola-195/+1163
[internal] Update to the latest @vscode/vsce for extension build
2025-08-13[internal] Update to the latest @vscode/vsce for extension buildWilfred Hughes-195/+1163
This isn't a logic change, but it fixes an npm warning during the build. vsce itself hasn't had any major changes between 3.2.2 and 3.6. * https://github.com/microsoft/vscode-vsce/releases/tag/v3.3.0 * https://github.com/microsoft/vscode-vsce/releases/tag/v3.4.0 * https://github.com/microsoft/vscode-vsce/releases/tag/v3.5.0 * https://github.com/microsoft/vscode-vsce/releases/tag/v3.6.0
2025-08-13Fix dead link to Cargo.toml in documentationdonni-h-1/+1
../../Cargo.toml resolves to https://rust-analyzer.github.io/Cargo.toml, which is an invalid link
2025-08-13Merge pull request #20446 from lcnr/kinda-unhelpful-3Lukas Wirth-81/+88
next-solver fun time
2025-08-13manually normalize aliaslcnr-8/+3
2025-08-13layout_of uses `PostAnalysis`lcnr-2/+6
2025-08-13implement `type_of_opaque`lcnr-72/+69
2025-08-13Merge pull request #20376 from fee1-dead/traitaliasLukas Wirth-591/+102
Merge Trait and TraitAlias handling
2025-08-13Merge pull request #20445 from rust-lang/veykril/push-twmmuyzwtxnoLukas Wirth-9/+11
fix: Attach db for inlay hint compute
2025-08-13update a few fixmes, and one trivial improvementlcnr-11/+22
2025-08-13Merge pull request #20444 from rust-lang/veykril/push-snuuupqnrqzxLukas Wirth-29/+37
minor: Print fields of interned IDs in hir-ty instead of just the ID
2025-08-13fix: Attach db for inlay hint computeLukas Wirth-9/+11
2025-08-13fix errors after rebaseDeadbeef-14/+13
2025-08-13Fix metrics checking out repos into toplevel folder instead of `target`Lukas Wirth-8/+12
2025-08-13Print fields of interned IDs in hir-ty instead of just the IDLukas Wirth-21/+25
2025-08-13add test for trait alias projectionsDeadbeef-0/+21
2025-08-13Merge Trait and TraitAlias handlingDeadbeef-577/+68
2025-08-13Merge pull request #20329 from jackh726/next-trait-solver-querifyLukas Wirth-1309/+19140
Switch from Chalk to the next trait solver
2025-08-12Merge pull request #20432 from ↵Chayim Refael Friedman-8/+102
sgasho/fix/20215_implement_default_member_to_resolve_ident_pat Fix "Implement default members" to resolve IdentPat
2025-08-12fix: Implement default member to resolve IdentPatsgasho-8/+102
2025-08-11Merge pull request #20434 from ShoyuVanilla/diag-fix-againShoyu Vanilla (Flint)-1/+1
fix: Panic while trying to clear old diagnostics while there's nothing
2025-08-12fix: Panic while trying to clear old diagnostics while there's nothingShoyu Vanilla-1/+1
2025-08-11Merge pull request #20420 from iorizu/doc-symbols-filterChayim Refael Friedman-47/+368
feat: Add Config Option to Exclude Locals from Document Symbol Search
2025-08-11Merge pull request #20429 from ShoyuVanilla/masterLukas Wirth-0/+1
hotfix: Update flycheck diagnostics generation
2025-08-11hotfix: Update flycheck diagnostics generationShoyu Vanilla (Flint)-0/+1
2025-08-11Merge pull request #20424 from rust-lang/rustc-pullLaurențiu Nicola-30526/+45243
Rustc pull update
2025-08-11Merge ref '21a19c297d4f' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-30525/+45242
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 21a19c297d4f5a03501d92ca251bd7a17073c08a Filtered ref: 9a5c1fb93028e1a29a7598ce782efb0c5d7be534 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-11Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to 21a19c297d4f5a03501d92ca251bd7a17073c08a.
2025-08-10Auto merge of #135846 - estebank:non-exhaustive-dfv-ctor-2, r=BoxyUwUbors-36/+321
Detect struct construction with private field in field with default When trying to construct a struct that has a public field of a private type, suggest using `..` if that field has a default value. ``` error[E0603]: struct `Priv1` is private --> $DIR/non-exhaustive-ctor-2.rs:19:39 | LL | let _ = S { field: (), field1: m::Priv1 {} }; | ------ ^^^^^ private struct | | | while setting this field | note: the struct `Priv1` is defined here --> $DIR/non-exhaustive-ctor-2.rs:14:4 | LL | struct Priv1 {} | ^^^^^^^^^^^^ help: the type `Priv1` of field `field1` is private, but you can construct the default value defined for it in `S` using `..` in the struct initializer expression | LL | let _ = S { field: (), .. }; | ~~ ```
2025-08-10Fix minor thingsIfeanyi Orizu-21/+20
2025-08-10Add config option to exclude locals from doc searchIfeanyi Orizu-28/+350
2025-08-10Auto merge of #145223 - jhpratt:rollup-xcqbwqe, r=jhprattbors-69/+130
Rollup of 7 pull requests Successful merges: - rust-lang/rust#144553 (Rehome 32 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`) - rust-lang/rust#145064 (Add regression test for `saturating_sub` bounds check issue) - rust-lang/rust#145121 (bootstrap: `x.py dist rustc-src` should keep LLVM's siphash) - rust-lang/rust#145150 (Replace unsafe `security_attributes` function with safe `inherit_handle` alternative) - rust-lang/rust#145152 (Use `eq_ignore_ascii_case` to avoid heap alloc in `detect_confuse_type`) - rust-lang/rust#145200 (mbe: Fix typo in attribute tracing) - rust-lang/rust#145222 (Fix typo with paren rustc_llvm/build.rs) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-10Rollup merge of #145222 - dpaoliello:pareninllvmbuild, r=AmanieuJacob Pratt-1/+1
Fix typo with paren rustc_llvm/build.rs The current parenthesis looks suspect: it means that OpenHarmony is always excluded whereas it looks like it was intended to only be excluded if the architecture was Arm. Since Rust doesn't support the other architectures with OpenHarmony, there currently isn't a bug but this cleans up some suspicious code and avoids a potential future annoyance for someone trying to bring up a new triple. r? `@Amanieu`
2025-08-10Rollup merge of #145200 - joshtriplett:mbe-typo-fix, r=lqdJacob Pratt-1/+1
mbe: Fix typo in attribute tracing
2025-08-10Rollup merge of #145152 - xizheyin:detect-confusion-type, r=lqdJacob Pratt-1/+1
Use `eq_ignore_ascii_case` to avoid heap alloc in `detect_confuse_type` A small optimization has been made, using `to_ascii_lowercase()` instead of `to_lowercase().to_string()`. r? compiler
2025-08-10Rollup merge of #145150 - ChrisDenton:inherit, r=Mark-SimulacrumJacob Pratt-12/+11
Replace unsafe `security_attributes` function with safe `inherit_handle` alternative The `security_attributes` function is marked as safe despite taking a raw pointer which will later be used. Fortunately this function is only used internally and only in one place that has been basically the same for a decade now. However, we only ever set one bool so it's easy enough to replace with something that's actually safe. In the future we might want to expose the ability for users to set security attributes. But that should be properly designed (and safe!).
2025-08-10Rollup merge of #145121 - ↵Jacob Pratt-0/+14
lambdageek:dist-must-keep-llvm-third-party-siphash, r=Kobzol bootstrap: `x.py dist rustc-src` should keep LLVM's siphash Fixes rust-lang/rust#145117
2025-08-10Rollup merge of #145064 - okaneco:saturating_sub_regression_tests, r=nikicJacob Pratt-0/+19
Add regression test for `saturating_sub` bounds check issue Add codegen test for issue where `valid_index.saturating_sub(X)` produced an extra bounds check. This was fixed by the LLVM upgrade. Closes rust-lang/rust#139759
2025-08-10Rollup merge of #144553 - Oneirical:uncountable-integer-4, r=jieyouxuJacob Pratt-54/+83
Rehome 32 `tests/ui/issues/` tests to other subdirectories under `tests/ui/` rust-lang/rust#143902 divided into smaller, easier to review chunks. Part of rust-lang/rust#133895 Methodology: 1. Refer to the previously written `tests/ui/SUMMARY.md` 2. Find an appropriate category for the test, using the original issue thread and the test contents. 3. Add the issue URL at the bottom (not at the top, as that would mess up stderr line numbers) 4. Rename the tests to make their purpose clearer Inspired by the methodology that `@Kivooeo` was using. r? `@jieyouxu`
2025-08-10Fix typo with paren rustc_llvm/build.rsDaniel Paoliello-1/+1
2025-08-10review commentsEsteban Küber-50/+81
2025-08-10Detect struct construction with private field in field with defaultEsteban Küber-36/+290
When trying to construct a struct that has a public field of a private type, suggest using `..` if that field has a default value. ``` error[E0603]: struct `Priv1` is private --> $DIR/non-exhaustive-ctor.rs:25:39 | LL | let _ = S { field: (), field1: m::Priv1 {} }; | ------ ^^^^^ private struct | | | while setting this field | note: the struct `Priv1` is defined here --> $DIR/non-exhaustive-ctor.rs:14:4 | LL | struct Priv1 {} | ^^^^^^^^^^^^ help: the field `field1` you're trying to set has a default value, you can use `..` to use it | LL | let _ = S { field: (), .. }; | ~~ ```
2025-08-10Auto merge of #144544 - JonathanBrouwer:illformed-in-deps, r=traviscrossbors-0/+177
Start reporting future breakage for `ILL_FORMED_ATTRIBUTE_INPUT` in dependencies This has been a warn lint since early 2019 and a deny-by-default lint since late 2019. We're currently transitioning some of the cases where this lint is being produced to a hard error (https://github.com/rust-lang/rust/pull/143607 https://github.com/rust-lang/rust/pull/143808 and more) So let's report this lint in all dependencies for the remaining attributes r? `@traviscross` `@rustbot` labels +I-lang-nominated +T-lang -T-compiler cc `@jdonszelmann` (Separate question: Why does the "Future incompatibility report" only trigger if `report_in_deps` is true, even if the future incompatibility happens in the same crate, is this correct?) This also needs a crater run, but I don't have permissions to trigger this