github rust-lang/rust-analyzer 2026-04-06

6 hours ago

Commit: 38fb8f9
Release: 2026-04-06 (v0.3.2854)

Universal VSIX

This release adds a platform-independent VSIX that VS Code will install on platforms where rust-analyzer doesn't offer binaries.
On supported platforms, the extension should keep working as before, but a Code bug might cause it to fail to activate.
If that happens, you should uninstall and reintall the rust-analyzer extension.

New Features

  • #21928 (first contribution) support macro expansion in #[doc = ...] attributes.
  • #19956 implement #[feature(more_qualified_paths)].
  • #21322 add option to put type hints at the end of the line.
  • #19659 add support for folding ranges in chained expressions.
  • #21516 publish universal VSIX without a built-in server binary, for unsupported platforms.

Fixes

  • #21792 (first contribution) make matching_brace work when cursor the cursor is not on a bracket.
  • #21942 (first contribution) silence type mismatch diagnostic when type is unknown.
  • #21924 (first contribution) update Neovim setup instructions.
  • #21915 fix a cycle in bounds lowering.
  • #21935 support #[cfg] on array elements.
  • #21926 handle empty expressions in parameter inlay hints.
  • #21937 wrap guard in parentheses in replace_if_let_with_match.
  • #21938 fix indent in convert_let_else_to_match.
  • #21954 handle empty else block in convert_let_else_to_match.
  • #21951 report "expected type, found {" in parser.
  • #21695 match trait item order in trait_impl_redundant_assoc_item.
  • #21936 handle comma at the end of argument in extract_variable.
  • #21902 support env! completions in nested macro calls.
  • #21903 handle negation in if postfix completion.
  • #20864 fix naming of self parameter in extract_function.
  • #21919 support labels in convert_to_guarded_return.
  • #21912 support tail expressions in convert_to_guarded_return.
  • #21940 support multiple snippet placeholders in VS Code extension.
  • #21921 unconditionally pass --include-ignored for test runnables.
  • #21922 use the correct project root when there are multiple workspaces.
  • #21844 support file systems that don't send Create events.
  • #21881 fix missing argument error messages for sched_getaffinity and getenv shims.

Internal Improvements

  • #21944 remove RootQueryDb.
  • #21931 move node mutability handling to edit_algo.
  • #21886 replace make constructors with SyntaxFactory in gen_trait_fn_body.
  • #21930 refactor add_missing_impl_members to use more of SyntaxFactory.
  • #21909 allow disabling fixture support.
  • #21933 ensure tracing is configured in slow tests.
  • #21806 document when crate cycles can occur.
  • #21923 set VS Code extension kind explicitly.
  • #21916 bump @vscode/vsce and ovsx.

See also the changelog post.

Don't miss a new rust-analyzer release

NewReleases is sending notifications on new releases.