Ifeanyi Orizu
17943cc47a
Skip flycheck for workspace if it is already being checked
2025-09-08 16:13:42 -05:00
Chayim Refael Friedman
152c0d6686
Merge pull request #20632 from rmehri01/navigation-on-prims
...
feat: support navigation on primitives
2025-09-08 20:12:04 +00:00
Ryan Mehri
2ffa8510a7
make TryToNav take Semantics instead of RootDatabase
2025-09-08 15:59:46 -04:00
Ryan Mehri
fc4450b1f1
add test
2025-09-08 14:33:25 -04:00
Ryan Mehri
a6a53ace86
impl TryToNav for BuiltinType instead
2025-09-08 14:23:52 -04:00
Chayim Refael Friedman
1e1886ac60
Merge pull request #20633 from Wilfred/improve_intro
...
Clarify intro in README and manual
2025-09-08 18:21:54 +00:00
Wilfred Hughes
224428d8fd
Clarify intro in README and manual
...
The first sentence a new user should see should ideally answer the
questions:
* What is rust-analyzer?
* Why might I want to use it?
The vast majority of users will be interested in using rust-analyzer
inside their favourite editor. We should clarify that rust-analyzer is
an LSP implementation and that it supports all the classic IDE
features.
Whilst it's also true that rust-analyzer is modular and organised into
libraries, the first impression should (I think) focus on an overview
and the primary use case.
2025-09-08 19:10:14 +01:00
Chayim Refael Friedman
e665f6fbe9
Merge pull request #20631 from Wilfred/remove_register_attr
...
Remove support for register_attr
2025-09-08 15:52:36 +00:00
Ryan Mehri
bb5b153b7b
feat: support navigation on primitives
2025-09-08 11:16:11 -04:00
Wilfred Hughes
a21866a563
Remove support for register_attr
...
This was removed in rustc in 2022: https://github.com/rust-lang/rust/pull/101123
Closes #20525 .
2025-09-08 15:56:56 +01:00
Laurențiu Nicola
c9e5e40c4e
Merge pull request #20620 from A4-Tacks/let-else-completion
...
fix: add `else` keyword completion after `let` statements
2025-09-08 06:03:00 +00:00
Laurențiu Nicola
1fa24ce6e0
Merge pull request #20626 from A4-Tacks/make-record-ws
...
Improve make::struct_ field_list whitespace
2025-09-08 05:52:57 +00:00
A4-Tacks
6da8094b13
Improve make::struct_ field_list whitespace
...
Example
---
**Before this PR**:
```rust
struct Variant{
field: u32
}
```
**After this PR**:
```rust
struct Variant {
field: u32
}
```
2025-09-07 22:19:52 +08:00
A4-Tacks
a5bb60b19c
Add allow else keyword completion in LetStmt
...
Example
---
```rust
fn foo() {
let _ = 2 el$0
}
```
->
```rust
fn foo() {
let _ = 2 else {
$0
};
}
```
2025-09-06 13:09:07 +08:00
Shoyu Vanilla (Flint)
3b7313b4d4
Merge pull request #20609 from ChayimFriedman2/update-rustc
...
internal: Upgrade rustc crates
2025-09-05 03:18:14 +00:00
Chayim Refael Friedman
7ff5a3d277
Upgrade rustc crates
...
The main changes are (there are some other small changes):
- Using a specific type for trait IDs in the new solver, allowing us to simplify a lot of code.
- Add `BoundConst` similar to `BoundTy` and `BoundRegion` (previously consts used `BoundVar` directly), due to a new trait requirement.
2025-09-04 22:36:31 +03:00
Chayim Refael Friedman
a5872e98f8
Merge pull request #20607 from ChayimFriedman2/ns-dyn-mismatch
...
internal: Add a regression test for a fixed new trait solver bug
2025-09-04 09:34:45 +00:00
Chayim Refael Friedman
dfc0433aab
Merge pull request #20606 from ChayimFriedman2/reborrow-config-typo
...
fix: Fix typo in config
2025-09-04 09:24:29 +00:00
Chayim Refael Friedman
d5cb7e7c7c
Add a regression test for a fixed new trait solver bug
...
Not sure what exactly fixed it, but why not.
2025-09-04 12:18:22 +03:00
Chayim Refael Friedman
169013d9ea
Fix typo in config
...
To make it backwards-compatible.
2025-09-04 12:10:39 +03:00
Shoyu Vanilla (Flint)
2127c2df5d
Merge pull request #20586 from ChayimFriedman2/placeholder-ns
...
fix: Make sense of the mess that were (are) different kind of generics in the solver
2025-09-03 06:00:29 +00:00
Laurențiu Nicola
dfaff28ce1
Merge pull request #20587 from ChayimFriedman2/private-inherent
...
fix: Deduplicate methods in completion by function ID and not by name
2025-09-02 06:00:12 +00:00
Chayim Refael Friedman
dd75ad4369
Deduplicate methods in completion by function ID and not by name
...
Because duplicates can be found with traits. Worse, the inherent methods could be private, and we'll discover that only later. But even if they're not they're different methods, and its seems worthy to present them all to the user.
2025-09-02 08:16:36 +03:00
Chayim Refael Friedman
a324fe9569
Make sense of the mess that were (are) different kind of generics in the solver
...
To the extent possible.
Previously they were confused. Sometimes generic params were treated as `Param` and sometimes as `Placeholder`. A completely redundant (in the new solver) mapping of salsa::Id to ints to intern some info where we could just store it uninterned (not in Chalk though, for some weird reason).
Plus fix a cute bug in closure substitution that was caught by the assertions of Chalk but the next solver did not have such assertions. Do we need more assertions?
2025-09-02 06:39:32 +03:00
Chayim Refael Friedman
dada5f418d
Merge pull request #20579 from Elliot-Roberts/fix-double-target-option
...
fix: Avoid `--target` option being given twice to `rustc` when invoked through `cargo rustc` while fetching target data layout
2025-08-30 23:41:14 +00:00
Elliot Roberts
823101e089
Pass --target before -- for cargo rustc
2025-08-30 13:36:29 -07:00
Shoyu Vanilla (Flint)
fd996d0203
Merge pull request #20563 from ChayimFriedman2/ns-projection-dyn-auto-trait
...
fix: When mapping next-solver's `dyn` type, add `Self` (aka. bound var ^1.0) to auto traits' substitutions
2025-08-30 13:39:33 +00:00
David Barsky
9916ee3f94
Merge pull request #20569 from rust-lang/dependabot/cargo/tracing-subscriber-0.3.20
...
Bump tracing-subscriber from 0.3.19 to 0.3.20
2025-08-29 22:56:40 +00:00
dependabot[bot]
d396d2f797
Bump tracing-subscriber from 0.3.19 to 0.3.20
...
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing ) from 0.3.19 to 0.3.20.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.19...tracing-subscriber-0.3.20 )
---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-version: 0.3.20
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-29 20:55:43 +00:00
Lukas Wirth
37048a006a
Merge pull request #20560 from ChayimFriedman2/analysis-stats-improve
...
fix: Add progress bars to more places in analysis-stats
2025-08-29 07:30:59 +00:00
Chayim Refael Friedman
dce4f30104
When mapping next-solver's dyn type, add Self (aka. bound var ^1.0) to auto traits' substitutions
...
Chalk represents dyn types as a list of predicate, the self type should be there. The next solver represents them quite differently. The `Self` was forgotten for the auto trait case.
2025-08-28 23:53:55 +03:00
Chayim Refael Friedman
85d383f821
Merge pull request #20561 from ChayimFriedman2/no-table-for-you
...
minor: Don't require a full `InferenceTable` for `CastTy`
2025-08-28 16:38:39 +00:00
Chayim Refael Friedman
c36b75bdc8
Don't require a full InferenceTable for CastTy
...
A DB is enough.
2025-08-28 19:24:46 +03:00
Chayim Refael Friedman
0a5502208d
Add progress bars to more places in analysis-stats
...
Namely, mir lowering, const eval and IDE things.
2025-08-28 18:54:46 +03:00
Chayim Refael Friedman
da33061e1c
Merge pull request #20553 from ChayimFriedman2/ns-highlight-attach
...
fix: Attach the db in one more place in highlighting
2025-08-27 22:40:07 +00:00
Chayim Refael Friedman
f31a378b0a
Attach the db in one more place in highlighting
2025-08-28 01:25:09 +03:00
Laurențiu Nicola
54d36de91d
Merge pull request #20547 from ChayimFriedman2/highlight-related-unsafe-scope
...
fix: In highlight_related, when on an unsafe block, don't highlight unsafe operations of other unsafe blocks
2025-08-27 19:09:21 +00:00
Shoyu Vanilla (Flint)
035bed8b5c
Merge pull request #20527 from ChayimFriedman2/cache-next-solver
...
perf: Cache trait solving across queries in the same revision
2025-08-27 04:31:39 +00:00
Chayim Refael Friedman
28a248f4f3
In highlight_related, when on an unsafe block, don't highlight unsafe operations of other unsafe blocks
2025-08-26 21:46:04 +03:00
Laurențiu Nicola
ab5113a316
Merge pull request #20545 from ChayimFriedman2/ns-foreign
...
fix: Remove `SolverDefId::ForeignId`
2025-08-26 17:40:24 +00:00
Chayim Refael Friedman
83f22cc0f8
Remove SolverDefId::ForeignId
...
Replace it with normal `SolverDefId::TypeAliasId`.
The split caused a very funny bug where code was getting `TypeAliasId` where it expected `ForeignId`, because `TypeAliasId` had a `From` impl from `hir_def::TypeAliasId` and `ForeignId` had not, plus a careless `into()`.
I could've fixed this specific bug but opted to remove the split instead; currently, it just provides more room for bugs, as we don't have typed IDs for the solver anyway, and even when we'll have (hopefully), that doesn't seem like a very useful distinction, for example in hir-def foreign types are just `TypeAliasId` with some flags.
Constructing a test for this isn't trivial; the trivial test (creating a foreign type, even proving a trait bound for it) fails to fail before the change, probably because we don't use the new solver everywhere yet so we don't trigger this specific code path.
2025-08-26 19:33:46 +03:00
Shoyu Vanilla (Flint)
7375e2c961
Merge pull request #20399 from rust-lang/veykril/push-klrwvmzokqwu
...
Enable warning logs by default
2025-08-26 05:56:22 +00:00
Shoyu Vanilla (Flint)
36d8f4e954
Merge pull request #20534 from A4-Tacks/tog-macro-delim-semicolon
...
Fix ExprStmt delete semicolon for toggle_macro_delimiter
2025-08-26 05:55:08 +00:00
Shoyu Vanilla (Flint)
3b0352eaeb
Merge pull request #20509 from A4-Tacks/fix-move-guard-to-arm-indent
...
Fix indent for move_guard_to_arm_body
2025-08-26 05:52:06 +00:00
Shoyu Vanilla (Flint)
daeb54057f
Merge pull request #20520 from ChayimFriedman2/reborrow
...
feat: Add an option to remove reborrows from adjustment inlay hints
2025-08-26 05:48:34 +00:00
Shoyu Vanilla (Flint)
05a61993a2
Merge pull request #20537 from ChayimFriedman2/new-solver-normalize
...
fix: Normalize all types when finishing inference
2025-08-26 05:31:07 +00:00
Chayim Refael Friedman
69c25d1fec
Merge pull request #20423 from ShoyuVanilla/import-2024
...
Make import sorting order follow 2024 edition style
2025-08-25 19:19:31 +00:00
Chayim Refael Friedman
769f164179
Merge pull request #20528 from ShoyuVanilla/nightly-zscript
...
fix: Masquerade as nightly cargo when invoking flycheck with `-Zscript`
2025-08-25 19:12:47 +00:00
Chayim Refael Friedman
4b5bb18c57
Don't map Chalk's Normalize to next solver's NormalizesTo
...
`NormalizesTo` is a private predicate that should not be used outside the solver. For normalization, rustc uses `AliasRelate`, so replace with that.
2025-08-25 20:56:45 +03:00
Chayim Refael Friedman
aa49c0b8bb
Normalize all types when finishing inference
...
The new solver does not eagerly normalize, but things after inference expect types to be normalized. rustc does the same.
Also, I'm afraid other things in r-a don't expect results of the solver to be unnormalized. We'll need to handle that.
2025-08-25 20:23:18 +03:00