37507 Commits

Author SHA1 Message Date
Laurențiu Nicola
be7d98ab08
Merge pull request #21327 from ada4a/patch-1
Fix typo in a URL
nightly
2025-12-23 20:31:49 +00:00
Ada Alakbarova
6cfdce929b
Fix typo in a URL 2025-12-23 21:20:11 +01:00
Shoyu Vanilla (Flint)
e14db0f5f8
Merge pull request #21326 from Veykril/push-vzswtlulupxv
fix: Fix flycheck generations not being synced for multiple workspaces
2025-12-23 13:41:33 +00:00
Lukas Wirth
d63914222e fix: Fix flycheck generations not being synced for multiple workspaces
The diagnostics collection globally tracks the generation for all loaded workspaces as its shared between them, yet the flycheck actors track their own separate generations per workspace.
This mismatch could cause flycheck to not work correctly when multiple workspaces were loaded.
2025-12-23 13:57:06 +01:00
Laurențiu Nicola
624761a864
Merge pull request #21318 from rust-lang/rustc-pull
minor: Rustc pull update
2025-12-22 13:49:55 +00:00
Lukas Wirth
31d2019672
Merge pull request #20521 from A4-Tacks/suggest-break-expr
Add BreakExpr completion suggest
2025-12-22 12:36:29 +00:00
A4-Tacks
ac01f880d7
Add BreakExpr completion suggest
- Move `ide::goto_definition::find_loops`
  into `ide_db::syntax_helpers::node_ext::find_loops`
2025-12-22 20:13:56 +08:00
Lukas Wirth
d1a3407ff8
Merge pull request #20595 from A4-Tacks/conv-iter-for-to-for-indent
Fix indent for convert_iter_for_each_to_for
2025-12-22 07:51:03 +00:00
A4-Tacks
d6a1e31373
Fix indent for convert_iter_for_each_to_for
Example
---
```rust
fn main() {
    {
        let it = core::iter::repeat(92);
        it.$0for_each(|param| match param {
            (x, y) => println!("x: {}, y: {}", x, y),
        });
    }
}
```

**Before this PR**:

```rust
fn main() {
    {
        let it = core::iter::repeat(92);
        for param in it {
            match param {
                    (x, y) => println!("x: {}, y: {}", x, y),
                }
        }
    }
}
```

**After this PR**:

```rust
fn main() {
    {
        let it = core::iter::repeat(92);
        for param in it {
            match param {
                (x, y) => println!("x: {}, y: {}", x, y),
            }
        }
    }
}
```
2025-12-22 14:47:27 +08:00
The rustc-josh-sync Cronjob Bot
0a5311af4d Merge ref 'f41f40408d71' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: f41f40408d719aa9ae0c6bfa17619d8f3f9e5b99
Filtered ref: 5abf37848786e70eb8136f43225b3470afea6dea
Upstream diff: 0208ee09be...f41f40408d

This merge was created using https://github.com/rust-lang/josh-sync.
2025-12-22 04:21:56 +00:00
The rustc-josh-sync Cronjob Bot
f511edf992 Prepare for merging from rust-lang/rust
This updates the rust-version file to f41f40408d719aa9ae0c6bfa17619d8f3f9e5b99.
2025-12-22 04:21:46 +00:00
Lukas Wirth
9d58a93602
Merge pull request #20439 from A4-Tacks/t-macro-bracket-doc
Add guess braces doc `T![]` for `T_`
2025-12-22
2025-12-21 14:19:06 +00:00
Lukas Wirth
14cc41f2ba
Merge pull request #20438 from A4-Tacks/fix-guess-renamed-macro-braces
Fix guess renamed macro braces
2025-12-21 14:18:55 +00:00
Lukas Wirth
47037adcac
Merge pull request #20577 from A4-Tacks/nested-if-indent
Fix indent for merge_nested_if
2025-12-21 14:03:50 +00:00
Lukas Wirth
ee9783825a
Merge pull request #20576 from A4-Tacks/nested-if-let
Fix nested if-let for merge_nested_if
2025-12-21 14:03:26 +00:00
Lukas Wirth
09a64600fb
Merge pull request #20472 from BenjaminBrienen/remove-style-point
Remove conflicting advice
2025-12-21 14:02:48 +00:00
Lukas Wirth
5b9198d11f
Merge pull request #20597 from A4-Tacks/conv-to-guarded-ret-doc
Add LetStmt doc for convert_to_guarded_return
2025-12-21 14:02:06 +00:00
Lukas Wirth
3aecf081f6
Merge pull request #20996 from A4-Tacks/explicit-dot-call-deref
Add ide-assist: add_explicit_method_call_deref
2025-12-21 13:50:43 +00:00
Lukas Wirth
10418b49d0
Merge pull request #21316 from Veykril/push-rsxnznymvluw
Call out feature freeze on IDE assists
2025-12-21 13:28:45 +00:00
Lukas Wirth
1a420f5153 Call out feature freeze on IDE assists 2025-12-21 14:11:48 +01:00
Lukas Wirth
82d4f8bacd
Merge pull request #21304 from asukaminato0721/19168
internal: Improve recursive mbe parsing behavior
2025-12-21 12:39:05 +00:00
Lukas Wirth
7fdd04bdb3
Merge pull request #21314 from Veykril/push-kywtpqlnwztr
Add 'Use of AI tools' section to CONTRIBUTING.md
2025-12-21 12:35:00 +00:00
Lukas Wirth
80e10c0ea0 Add 'Use of AI tools' section to CONTRIBUTING.md 2025-12-21 13:26:07 +01:00
bors
5abf378487 Auto merge of #149437 - ilammy:patch-1, r=Mark-Simulacrum
Fix trailing newline in JUnit formatter

`write_message()` expects messages to contain no newlines.

Fixes https://github.com/rust-lang/rust/issues/149436
2025-12-21 10:37:51 +00:00
Chayim Refael Friedman
ccb2ffe653
Merge pull request #21311 from A4-Tacks/serde-derive-feature
internal: Fix hir-ty implicit serde derive feature
2025-12-21 07:42:18 +00:00
A4-Tacks
5abec3c2ce
internal: Fix hir-ty implicit serde derive feature
bad commit: 0dd3fe029a532c6c5fa3b0bdd7c4eb57843bb156
cwd: crates/hir-ty
cmd: cargo check
output: error: cannot find derive macro `Serialize` in this scope
2025-12-21 15:30:47 +08:00
Chayim Refael Friedman
8f28e82a4f
Merge pull request #21212 from A4-Tacks/comp-try-let-default-varname
Add default varname for TryEnum postfix completion
2025-12-21 06:13:23 +00:00
A4-Tacks
847317ccba
Add default varname for TryEnum postfix completion
Example
---
```rust
fn main() {
    let bar = Some(true);
    bar.i$0
}
```

**Before this PR**

```rust
fn main() {
    let bar = Some(true);
    if let Some($1) = bar {
        $0
    }
}
```

**After this PR**

```rust
fn main() {
    let bar = Some(true);
    if let Some(${1:bar}) = bar {
        $0
    }
}
```
2025-12-21 13:55:21 +08:00
Chayim Refael Friedman
961fd33e8e
Merge pull request #21310 from ChayimFriedman2/remove-attach-db
minor: Remove some redundant `attach_db()`s
2025-12-21 05:53:58 +00:00
Chayim Refael Friedman
b5fbcc6917
Merge pull request #21166 from A4-Tacks/fly-closure-this-param
Support undotted-self for `this` param closure
2025-12-21 05:37:24 +00:00
Chayim Refael Friedman
65c14db957 Remove some redundant attach_db()s 2025-12-21 07:10:19 +02:00
Chayim Refael Friedman
cbc18ae50c
Merge pull request #21289 from A4-Tacks/add-ref-matched-type
Complete reference `&T` -> `&&T`
2025-12-21 05:08:04 +00:00
Chayim Refael Friedman
3d25bbf964
Merge pull request #21291 from A4-Tacks/expected-nested-match-arm-expr-ty
Fix match arm nested body invalid expected type
2025-12-21 05:04:56 +00:00
A4-Tacks
f8f69b2a61
Complete reference &T -> &&T
Example
---
```rust
struct S;
fn foo(s: &&S) {}
fn main() {
    let mut ssss = &S;
    foo($0);
}
```

**Before this PR**

```rust
st S S []
lc ssss &S [local]
st S S []
fn foo(…) fn(&&S) []
fn main() fn() []
```

**After this PR**

```rust
st S S []
lc ssss &S [local]
lc &ssss [type+local]
st S S []
fn foo(…) fn(&&S) []
fn main() fn() []
```
2025-12-21 12:58:12 +08:00
A4-Tacks
f0055f6557
Add parent_match method to node_ext 2025-12-21 12:54:47 +08:00
Chayim Refael Friedman
e47b23dafe
Merge pull request #21293 from A4-Tacks/move-guard-no-apply-non-naked
Fix applicable on non naked if for move_guard assist
2025-12-21 04:38:36 +00:00
Chayim Refael Friedman
4849b44922
Merge pull request #21309 from jackh726/failed_obligations
Add an lsp extension to get failed obligations for a given function
2025-12-21 01:34:53 +00:00
jackh726
f870ae8dc0 Review comments - some cleanups to get_failed_obligations, including returning a list 2025-12-21 01:05:36 +00:00
jackh726
0dd3fe029a Add lsp extension to get failed trait obligations for a given function 2025-12-20 22:43:58 +00:00
bors
186b29522e Auto merge of #148329 - LorrensP-2158466:closure-prop, r=lcnr
Better closure requirement propagation.

Fixes rust-lang/rust#148289
Fixes rust-lang/rust#104477
Should unblock rust-lang/rust#148187

When propagating closure requirements we:
- no longer try to find a post dominiting region for the list of non-local lower bounds of `longer_fr`.
- we filter the list of `longer_fr-: shorter_fr+` to only these constraints between external regions which are required regardless. If no such constraint exists, we fall back to propagating all of them.

See the [FCP](https://github.com/rust-lang/rust/pull/148329#issuecomment-3581019253) for more information.

r? `@lcnr`
2025-12-20 21:05:32 +00:00
Chayim Refael Friedman
765b7bdb43
Merge pull request #21307 from ChayimFriedman2/more-perf-work
perf: More perf improvements, made possible after non-Salsa interneds
2025-12-20 18:04:57 +00:00
Chayim Refael Friedman
3ab0420c52 Replace some new() with new_from_args()
It's faster, when you already have a `GenericArgs`.
2025-12-20 19:21:57 +02:00
Chayim Refael Friedman
f91e54f7e5 Convert some <InternedSlice>::new_from_iter() to new_from_slice()
It's faster, when you have a slice available.
2025-12-20 19:08:26 +02:00
Chayim Refael Friedman
096ebb0759 Pre-intern some common types
This is possible now that they are no longer interned with Salsa.
2025-12-20 19:08:26 +02:00
Chayim Refael Friedman
d2a029ae05 Use slices for Interner::FnInputTys and Interner::GenericArgsSlice, not Tys and GenericArgs respectively
This allows us to avoid interning them.
2025-12-20 19:08:26 +02:00
Chayim Refael Friedman
fa4ea90fb2
Merge pull request #21295 from ChayimFriedman2/non-salsa-interneds-v3
perf: Non-Salsa-interned solver types - with GC for them
2025-12-20 15:56:46 +00:00
Asuka Minato
a769fbdb87 fix
test case
2025-12-20 05:09:06 +09:00
bors
c5e0c50f99 Auto merge of #150056 - Kivooeo:trying-to-address-perf, r=davidtwco
Perf regression fix

The only thing changed from the previous PR is that I removed `output_is_inhabited` from hot path, and hide it behind condition, so now it will compute it less frequent

follow up on https://github.com/rust-lang/rust/pull/149664
2025-12-19 18:18:11 +00:00
bors
f615ed0ec3 Auto merge of #150110 - Urgau:remap-relative-library, r=jieyouxu
Prefer remapping the relative `library/` and `compiler/` directories

This is done to avoid leaking the relative paths to the standard library after the overall of filenames in rust-lang/rust#149709.

Noted that the paths were already leaking before, but to a lesser extent since most (but not all) the paths embedded in the distributed `rlib` were absolute.

In general Cargo compiles workspace members with relative paths, so it's better anyway to remap the relative path.

In addition to our tests I have manually confirmed that it also works as expected for the printed diagnostics paths.

cf. https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/remapping.20of.20the.20standard.20library/near/564093571
2025-12-19 11:45:11 +00:00
bors
5bd0ae5c41 Auto merge of #150105 - jackh726:remove-expressions-coerce, r=BoxyUwU
Remove Expressions (and just use a Vec) in coerce

Let's see if this has much of a perf impact - would be nice to clean this up a bit

r? ghost
2025-12-19 00:27:29 +00:00