github rust-lang/rust-analyzer 2026-07-13

7 hours ago

Commit: ffcdbbd
Release: 2026-07-13 (v0.3.2971)

New Features

  • #22734 add quick fix for array length mismatch.

Performance Improvements

  • #22766 share same proc macro servers between workspaces and use two processes.

Fixes

  • #22770 (first contribution) clamp cttz const eval result to type width.
  • #22654 improve #[doc = macro!()] expansion.
  • #22744 don't complete ..Default::default() when implementing Default.
  • #22736 fix panic in merge_imports on trailing path separator.
  • #22707 fix MIR lowering crash with error types.
  • #22749 fix crash in generate_function with unresolved module.
  • #22751 handle #[cfg] in tail expression macros even better.
  • #22683 support Cargo 1.97 CARGO_RESOLVER_LOCKFILE_PATH setting.
  • #22735 fix proc macros TokenStream::from_str for doc comments.
  • #22741 add parentheses when adding reference to dyn 'a + B.
  • #22535 prettify associated consts of trait defined by a macro.
  • #22726 suggest code action fixes even if their range is elsewhere.
  • #22405 recurse into container expressions for unused-must-use.
  • #22768 handle $ in onEnter.

Internal Improvements

  • #22728 remove dead NavigationTarget::docs field.
  • #22719 remove some more ExpandDatabase queries.
  • #22729 migrate ExpandDatabase::{expansion_,real_,}span_map queries.
  • #22733 make expand_speculative a method on MacroCallId.
  • #22717 simplify fn_macro::register_builtin!.
  • #22739 remove ExpandDatabase.
  • #22746 remove cycle_{fn,initial} support from #[query_group].
  • #22745 remove DefDatabase.
  • #22774 remove Intern::Database and Lookup::Database associated types.
  • #22764 use Expr::parse instead of SourceFile::parse in ast::make.
  • #22748 remove unnecessary clone_for_update.
  • #22581 log a message when cache priming completes.
  • #22755 support goards in match_ast!.
  • #22753 bring lsp_server::Response closer to the spec.
  • #22635 bump gen-lsp-types.
  • #22750 fix new Clippy lints.

See also the changelog post.

Don't miss a new rust-analyzer release

NewReleases is sending notifications on new releases.