bors
f2840cd6c8
Auto merge of #144114 - lnicola:sync-from-ra, r=lnicola
...
Subtree update of `rust-analyzer`
r? `@ghost`
2025-07-18 08:44:14 +00:00
Shoyu Vanilla (Flint)
4f294fc2a1
Merge pull request #19783 from A4-Tacks/generate-single-field-from
...
Add ide-assist, generate single field struct From
2025-07-18 01:58:30 +00:00
Deadbeef
8444e5bc09
parse const trait Trait
2025-07-17 18:06:26 +08:00
A4-Tacks
aa34fab642
Add tailexpr & -> &mut for generate_mut_trait_impl
2025-07-17 00:49:56 +08:00
Shoyu Vanilla (Flint)
3c9ce17867
Merge pull request #19917 from A4-Tacks/ext-generate-mut
...
Add AsRef and Borrow for generate_mut_trait_impl
2025-07-16 15:39:47 +00:00
A4-Tacks
6598a38174
Add AsMut to minicore prelude::v1
2025-07-16 21:27:39 +08:00
A4-Tacks
fc5dd8b798
Use hir::Trait in parameter
2025-07-16 19:51:16 +08:00
A4-Tacks
28f1e62482
Remove redundant type parameters
2025-07-16 17:17:00 +08:00
A4-Tacks
a977cb1ce8
Add AsRef and Borrow for generate_mut_trait_impl
...
- AsRef -> AsMut
- Borrow -> BorrowMut
Example
====================
```rust
//- minicore: as_ref
struct Foo(i32);
impl<T> core::convert::AsRef$0<i32> for Foo {
fn as_ref(&self) -> &i32 {
&self.0
}
}
```
->
```rust
struct Foo(i32);
$0impl<T> core::convert::AsMut<i32> for Foo {
fn as_mut(&mut self) -> &mut i32 {
&self.0
}
}
impl<T> core::convert::AsRef<i32> for Foo {
fn as_ref(&self) -> &i32 {
&self.0
}
}
```
2025-07-16 17:16:56 +08:00
Shoyu Vanilla (Flint)
f76d2ef4d9
Merge pull request #20178 from ShoyuVanilla/cargo-config-cleanup
...
chore: Cleanup cargo config queries
2025-07-15 16:13:30 +00:00
Laurențiu Nicola
0e2e6e7a8a
Format and bump rustc crates
2025-07-15 17:41:08 +03:00
Laurențiu Nicola
f373437c22
Merge from rust-lang/rust
2025-07-15 17:27:46 +03:00
Shoyu Vanilla
d6bdcf2f08
Further decrease number of cargo metadata
invokes
2025-07-15 22:49:16 +09:00
Shoyu Vanilla
8dad658bea
chore: Cleanup cargo config queries
2025-07-15 22:49:16 +09:00
Chayim Refael Friedman
f19c89da36
Infer lifetimes for GATs in expression/pattern position
...
We should not only in type position.
2025-07-15 01:15:33 +03:00
Shoyu Vanilla (Flint)
e10d64eb40
Merge pull request #20234 from Hmikihiro/migrate_ted_remove_default
...
Remove `ConstParam::remove_default` and `TypeParam::remove_default` to migrate from ted
2025-07-14 06:42:36 +00:00
Chayim Refael Friedman
591e3b7624
Merge pull request #20236 from gvozdvmozgu/patch-1
...
remove now useless `#[allow(unused_lifetimes)]`
2025-07-13 17:45:06 +00:00
Deadbeef
cc08f71756
update issue number for const_trait_impl
2025-07-13 23:55:06 +08:00
Andrey Nikolaev
2b861a7410
remove now useless [allow(unused_lifetimes)]
2025-07-13 05:43:05 -04:00
Hayashi Mikihiro
435b2962a0
remove remove_default
2025-07-13 02:03:56 +09:00
A4-Tacks
d001e27173
Fix assoc type where clause position
2025-07-12 23:48:41 +08:00
Shoyu Vanilla (Flint)
a489123e80
Merge pull request #20232 from ShoyuVanilla/issue-20225
...
fix: Normalize projection types before calculating memory maps
2025-07-11 19:32:53 +00:00
Shoyu Vanilla
f6e11e8248
Add a memory map bound check assertion on rendering const slice
2025-07-11 23:44:49 +09:00
Chayim Refael Friedman
4b29a9d6ea
Merge pull request #20219 from ChayimFriedman2/expr-store-mem
...
perf: Put the expression stuff in the expression store behind an `Option<Box>`
2025-07-11 14:25:39 +00:00
Shoyu Vanilla
4b2593085d
fix: Normalize projection types before calculating memory maps
2025-07-11 23:10:03 +09:00
Shoyu Vanilla (Flint)
eaeee0be5a
Merge pull request #20224 from Hmikihiro/migrate_remove_dbg
...
Migrate `remove_dbg` assist to use `SyntaxEditor`
2025-07-11 07:41:34 +00:00
Hayashi Mikihiro
c79e24c1f1
Migrate remove_dbg
assist to use SyntaxEditor
2025-07-11 16:24:57 +09:00
Matthias Krüger
562dab675c
Rollup merge of #143708 - epage:pretty, r=compiler-errors
...
fix: Include frontmatter in -Zunpretty output
In the implementation (rust-lang/rust#140035 ), this was left as an open question for
the tracking issue (rust-lang/rust#136889 ). My assumption is that this should be
carried over.
The test was carried over from rust-lang/rust#137193 which was superseded by rust-lang/rust#140035 .
Thankfully, either way, `-Zunpretty` is unstable and we can always
change it even if we stabilize frontmatter.
2025-07-11 07:35:21 +02:00
Chayim Refael Friedman
e2c8cefa63
Merge pull request #20228 from ChayimFriedman2/fix-use-display
...
fix: Fix display of `use<>` syntax
2025-07-10 21:19:38 +00:00
Chayim Refael Friedman
1d3ca1d6f3
Fix display of use<>
syntax
2025-07-11 00:08:24 +03:00
Shoyu Vanilla (Flint)
600f573256
Merge pull request #20054 from Young-Flash/folding_all
...
feat: support folding multiline arg list & fn body in one folding range
2025-07-10 12:05:31 +00:00
Hayashi Mikihiro
c3a5a8c22a
Migrate generate_impl
assist to use SyntaxEditor
2025-07-10 18:12:16 +09:00
Shoyu Vanilla (Flint)
e9968fc555
Merge pull request #20210 from ChayimFriedman2/naked-asm-safe
...
fix: Inline asm fixes
2025-07-10 06:28:49 +00:00
yukang
c37949c628
remove unnecessary parens in rust-analyzer
2025-07-10 13:50:02 +08:00
Laurențiu Nicola
8789098dbc
Revert "remove if-let
chains"
...
This reverts commit fcc81a38b3ed55447735f71e8d374fcb36c22f24.
2025-07-10 08:24:53 +03:00
Shoyu Vanilla (Flint)
eede8f1f4e
Merge pull request #20212 from ChayimFriedman2/dyn-hint
...
fix: Fixes for `dyn` inlay hint
2025-07-10 04:57:57 +00:00
Hayashi Mikihiro
be609a57bf
Migrate convert_match_to_let_else
assist to use SyntaxEditor
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-10 11:22:32 +09:00
Chayim Refael Friedman
ad708fdbd1
Put the expression stuff in the expression store behind an Option<Box>
...
And leave only the type stuff without it.
This is because most expression stores don't have anything but types (e.g. generics, fields, signatures) so this saves a lot of memory.
This saves 58mb on `analysis-stats .`.
2025-07-10 05:18:43 +03:00
Ed Page
f4d9018a48
feat(lexer): Allow including frontmatter with 'tokenize'
2025-07-09 16:42:27 -05:00
Chayim Refael Friedman
f8e2fa0e80
Make AsmExpr
have AstId
...
We need it because `global_asm!()` is an item. It's unfortunate that such thing can slip in and I see no way to automatically catch that, but thankfully analysis-stats on self has caught that.
2025-07-09 21:43:20 +03:00
Chayim Refael Friedman
a8e67dffca
Put dyn
inlay hints in their correct place in presence of parentheses
2025-07-09 19:33:47 +03:00
Chayim Refael Friedman
5e30dab65c
Disable the diagnostics_dont_block_typing
test on CI
...
It's failing to much. We need to fix it, but my changes are unlikely to be the cause.
2025-07-09 19:29:11 +03:00
Chayim Refael Friedman
3931afa624
Don't show dyn
hint in a HRTB bound
2025-07-09 19:19:51 +03:00
Hayashi Mikihiro
5a410c3215
migrate convert_named_struct_to_tuple_struct
assist to use 'SyntaxEditor'
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-10 01:01:47 +09:00
Chayim Refael Friedman
95c04c4503
Make global_asm!()
work
...
Because apparently, we were not accepting inline asm in item position, completely breaking it.
2025-07-09 18:55:27 +03:00
Shoyu Vanilla (Flint)
64551a5696
Merge pull request #20109 from Hmikihiro/generate_new_tuple_field
...
feat: Generate `new` for tuple struct
2025-07-09 15:22:47 +00:00
Chayim Refael Friedman
bd8087e86e
Differentiate between asm!()
, global_asm!()
and naked_asm!()
, and make only asm!()
unsafe
2025-07-09 17:37:27 +03:00
Chayim Refael Friedman
edb804a100
Don't hash the SyntaxKind
in the ast id
...
There is no need to, it's already stored in the `kind`.
2025-07-09 17:21:45 +03:00
bors
3a5e13a8b3
Auto merge of #143472 - dianne:deref-pat-column-check, r=Nadrieril
...
`rustc_pattern_analysis`: always check that deref patterns don't match on the same place as normal constructors
In rust-lang/rust#140106 , deref pattern validation was tied to the `deref_patterns` feature to temporarily avoid affecting perf. However:
- As of rust-lang/rust#143414 , box patterns are represented as deref patterns in `rustc_pattern_analysis`. Since they can be used by enabling `box_patterns` instead of `deref_patterns`, it was possible for them to skip validation, resulting in an ICE. This fixes that and adds a regression test.
- External tooling (e.g. rust-analyzer) will also need to validate matches containing deref patterns, which was not possible. This fixes that by making `compute_match_usefulness` validate deref patterns by default.
In order to avoid doing an extra pass for anything with patterns, the second commit makes `RustcPatCtxt` keep track of whether it encounters a deref pattern, so that it only does the check if so. This is purely for performance. If the perf impact of the first commit is negligible and the complexity cost introduced by the second commit is significant, it may be worth dropping the latter.
r? `@Nadrieril`
2025-07-09 09:45:36 +00:00
Shoyu Vanilla (Flint)
e429bac879
Merge pull request #20200 from rust-lang/revert-20157-push-nxrvpywtvoys
...
Revert "Re-enable fixpoint iteration for variance computation"
2025-07-09 02:30:26 +00:00