github rust-lang/rust-analyzer 2026-05-18

5 hours ago

Commit: ce81cf6
Release: 2026-05-18 (v0.3.2904)

VS Code Extension Publishing Issue

This release is not available on the VS Code Marketplace and OpenVSX due to an infrastructure issue.
Until it's fixed, you can still download it from the GitHub release page.

New Features

  • #22347, #22355, #22372, #22379, #22380, #22378 add invalid-range-pat-type, non-exhaustive-record-pat, method-call-illegal-sized-bound, fru-in-destructuring-assignment, cannot-be-dereferenced and explicit-drop-method-use diagnostics.
  • #22082, #22368, #22384 add pattern type support.

Performance Improvements

  • #22329 encode the name instead of index in EnumVariantId for better incrementality.
  • #22191 use the LineIndex in RootDatabase in the proc macro server.

Fixes

  • #22358, #22381 show const and unsafe in signature help.
  • #22357 show Run lens for fn main in bench targets.
  • #22363 fix false positive trait-impl-missing-assoc_item with Self: Sized bounds.
  • #22376 hide duplicate completions originating from Deref chains.
  • #22367 fix spurious reference completions.
  • #22386 don't complete :: before existing :: in paths.
  • #22354 don't drop path segment in qualify_path.
  • #22344 handle macro calls in extract_function.
  • #22335 add parameter to the closures produced by replace_method_eager_lazy.

Internal Improvements

  • #22352 (first contribution) migrate inline_call assist to `SyntaxEditor.
  • #22313 refactor visiting and tracking of placeholder types.
  • #22328 remove interning from #[query_group].
  • #22119 remove some usages of DbInterner::conjure.
  • #22391 ignore workspace/diagnostic/refresh in slow tests.

See also the changelog post.

Don't miss a new rust-analyzer release

NewReleases is sending notifications on new releases.