| Age | Commit message (Collapse) | Author | Lines |
|
internal: Remove unreachable logic for include token mapping
Turns out https://github.com/rust-lang/rust-analyzer/pull/17863 made this obsolete 🎉
|
|
|
|
fix: Trailing excess comma in "Convert to named struct" assist
Fixes #17854
|
|
|
|
fix: Missing non-exhaustive let diagnostics inside async or unsafe block
The reason that this test doesn't have a pointer deref case is because the following code;
```rust
fn test(ptr: *const Result<i32, !>) {
unsafe {
let Ok(_x) = *ptr;
}
}
```
is getting a block with no stmts but tail one in here(thus, no diagnostic error),
https://github.com/rust-lang/rust-analyzer/blob/0daeb5c0b05cfdf2101b0f078c27539099bf38e6/crates/hir-ty/src/diagnostics/expr.rs#L256-L257
while the following is getting a block with a single stmt without tail 🤔
```rust
fn test(x: Result<i32, &'static !>) {
let Ok(_y) = x;
}
```
I'll make a more deep inspection and file this as a new issue
_Originally posted by `@ShoyuVanilla` in https://github.com/rust-lang/rust-analyzer/pull/17853#discussion_r1712993585_
|
|
|
|
fix: Build and run build scripts in lsif command
|
|
|
|
fix: Resolve included files to their calling modules in IDE layer
Fixes https://github.com/rust-lang/rust-analyzer/issues/17390 at the expense of reporting duplicate diagnostics for modules that have includes in them when both the calling and called file are included.
|
|
|
|
minor: Bump lockfile
|
|
|
|
Only keep lib/ in publish-libs
Follow-up to #17860, see https://github.com/rust-lang/rust-analyzer/actions/runs/10350212090/job/28646162590.
|
|
|
|
internal: Reply to requests with defaults when vfs is still loading
There is no reason for us to hit the database with queries when we certainly haven't reached a stable state yet. Instead we just reply with default request results until we are in a state where we can do meaningful work. This should save us from wasting resources while starting up at worst, and at best save us from creating query and interning entries that are non-meaningful which ultimately just end up wasting memory.
|
|
fix: Fix publish libs workflow
|
|
|
|
|
|
|
|
internal: Performance optimizations
- Use `Command::arg` directly
- Avoid the overhead of the `select!` macro when possible
- Use `select_biased!`
|
|
internal: Optimize the usage of channel senders
Used `Sender` directly instead of a boxed closure. There is no need to use the boxed closure. This also allows the caller to decide to do something other than `unwrap` (not a fan of it BTW).
|
|
fix: Correctly support `#[rustc_deprecated_safe_2024]`
Fixes https://github.com/rust-lang/rust-analyzer/issues/17852
|
|
|
|
|
|
|
|
|
|
This reverts commit 567bde603cfeedb5cfc44e441578c5416bfc4f35.
|
|
Reuse recursion limit as expansion limit
A configurable recursion limit was introduced by looking at the recursion_limit crate attribute. Instead of relying on a global constant we will reuse this value for expansion limit as well.
Addresses: https://github.com/rust-lang/rust-analyzer/issues/8640#issuecomment-2271740272
|
|
feat: Implement TAIT and fix ATPIT a bit
Closes #16296 (Commented on the issue)
In #16852, I implemented ATPIT, but as I didn't discern ATPIT and other non-assoc TAIT, I guess that it has been working for some TAITs.
As the definining usage of TAIT requires it should be appear in the Def body's type(const blocks' type annotations or functions' signatures), this can be done in simlilar way with ATPIT
And this PR also corrects some defining-usage resolution for ATPIT
|
|
|
|
fix: Fix find_path not respecting non-std preference config correctly
Fixes https://github.com/rust-lang/rust-analyzer/issues/17840
|
|
internal: Move some main crate stuff
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
minor: log error when sysroot can't be discovered
Closes #17808
|
|
|
|
A configurable recursion limit was introduced by looking at the
recursion_limit crate attribute. Instead of relying on a global constant
we will reuse this value for expansion limit as well.
|
|
fix: Panic while rendering function type hint with impl trait arg
Fixes #17811
|
|
|
|
internal: Move and split flycheck crate into rust-analyzer main crate
The crate no longer is about flychecking, it mainly hosts common command process handling shared by flycheck, test explorer and now project discovery. This re-organizes that into the main crate.
|
|
|