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

8 hours ago

Commit: adef948
Release: 2026-04-20 (v0.3.2870)

New Features

  • #21906 exclude dependency and standard library results from reference search.
  • #21740 support #[rust_analyzer::prefer_underscore_import] to import traits as _.

Fixes

  • #22031 (first contribution) demote impl completions when an inherent impl block already exists.
  • #22083 (first contribution) respect #[deprecated] when deciding if a ModuleDef completion is deprecated.
  • #22046 (first contribution) add parser support for unstable type const items.
  • #22022 add parser support for impl and mut restrictions.
  • #22096 use ProofTreeVisitor for unsized coercion.
  • #22025 don't add extra dereference after indexing in extract_function.
  • #22044 don't complete unstable items that are gated by an internal feature.
  • #22003 complete variants of hidden enums through public aliases.
  • #21999 fix ref-completion with keyword prefix.
  • #22018 enable completions inside strings in VS Code.
  • #22032 allow ambiguity in associated type shorthands if they resolve to the same associated type from a supertrait.
  • #22087 fix incorrect lifetime hints with self: Self parameter.
  • #22066 recognize #[std::prelude::vX::test].
  • #21487 offer extract_variable in macro calls.
  • #22067 add parentheses on record literals in replace_let_with_if_let.
  • #22030 fix MIR evaluation of sized &T with recursive const functions.
  • #22073 fix panic on empty comments in convert_comment_block.
  • #22077 fix a panic in replace_if_let_with_match.
  • #22055 fixes some upvars_mentioned issues.
  • #22070 handle name conflicts in extract_type_alias a little better.

Internal Improvements

  • #21835 add hir::Type::{as_raw_ptr,is_mutable_raw_ptr}.
  • #22092 synchronize function call argument check fudging with rustc.
  • #22048 bump rustc crates.
  • #22061 bump salsa.
  • #22050 represent lower coroutines to closures.
  • #22049, #22069 store a SyntaxFactory inside SyntaxEditor.
  • #22043, #22095, #22042, #22039 replace ast::make with SyntaxFactory in raw_string, convert_range_for_to_while, expand_glob_import and generate_blanket_trait_impl.
  • #22091, #22036 migrate generate_impl_text and IdentPat::set_pat to SyntaxEditor.
  • #22081 migrate convert_iter_for_each_to_for assist to SyntaxEditor.
  • #22037 remove set_visibility.
  • #22041 remove GenericParamsOwnerEdit.
  • #22057 remove clone_for_update from move_const_to_impl.
  • #22063 remove LineIndexDatabase.
  • #22065 fix new Clippy lints.
  • #22084 slim down MiniCore Debug output.
  • #22074 support RUSTFMT_TOOLCHAIN for xtask codegen.
  • #22029, #22028 run rustdoc GitHub action on PRs.

See also the changelog post.

Don't miss a new rust-analyzer release

NewReleases is sending notifications on new releases.