Releases: rust-lang/rust-analyzer
Release list
nightly
Merge pull request #22759 from Wilfred/fix/syntax-factory-mapping-unw…
2026-07-13
Commit: ffcdbbd
Release: 2026-07-13 (v0.3.2971)
New Features
#22734add quick fix for array length mismatch.
Performance Improvements
#22766share same proc macro servers between workspaces and use two processes.
Fixes
#22770(first contribution) clampcttzconst eval result to type width.#22654improve#[doc = macro!()]expansion.#22744don't complete..Default::default()when implementingDefault.#22736fix panic inmerge_importson trailing path separator.#22707fix MIR lowering crash with error types.#22749fix crash ingenerate_functionwith unresolved module.#22751handle#[cfg]in tail expression macros even better.#22683support Cargo 1.97CARGO_RESOLVER_LOCKFILE_PATHsetting.#22735fix proc macrosTokenStream::from_strfor doc comments.#22741add parentheses when adding reference todyn 'a + B.#22535prettify associated consts of trait defined by a macro.#22726suggest code action fixes even if their range is elsewhere.#22405recurse into container expressions forunused-must-use.#22768handle$inonEnter.
Internal Improvements
#22728remove deadNavigationTarget::docsfield.#22719remove some moreExpandDatabasequeries.#22729migrateExpandDatabase::{expansion_,real_,}span_mapqueries.#22733makeexpand_speculativea method onMacroCallId.#22717simplifyfn_macro::register_builtin!.#22739removeExpandDatabase.#22746removecycle_{fn,initial}support from#[query_group].#22745removeDefDatabase.#22774removeIntern::DatabaseandLookup::Databaseassociated types.#22764useExpr::parseinstead ofSourceFile::parseinast::make.#22748remove unnecessaryclone_for_update.#22581log a message when cache priming completes.#22755support goards inmatch_ast!.#22753bringlsp_server::Responsecloser to the spec.#22635bumpgen-lsp-types.#22750fix new Clippy lints.
See also the changelog post.
2026-07-06
Commit: 7ae18ed
Release: 2026-07-06 (v0.3.2963)
New Features
#22433(first contribution) addunion-pat-has-restdiagnostic.#22665(first contribution) addyield-outside-of-coroutinediagnostic.#22679addcargo.configPathsetting.
Performance Improvements
#22709(first contribution) reduce parser joint token allocation size.#22711hoist attribute qualifier segment computation.#22708remove unusedStaticIndexedFile::inlay_hintsSCIP field.
Fixes
#22706(first contribution) fix const resolution in array lengths.#22649(first contribution) fixnvim-lspconfiguration example.#22582only runDrop::dropwhen implemented.#22675handle more instances of#[cfg]during lowering.#22619skip impls on types with errors during method resolution.#22673fix handling of coroutine parameters.#22646fix crash while lowering consts with associated types.#22715fix crash while invoking completions inside macro calls.#22705fix crash inextract_variablewith unresolved macro call.#22613fix panic inconvert_tuple_struct_to_named_structon nested patterns for recursive enum.#22674fix some panics inunwrap_return_type,remove_underscoreandpromote_local_to_const.#22488skip associated consts with defaults and remove type bounds ingenerate_blanket_trait_impl.#22231support more than two arms inreplace_match_with_if_let.#20362add missing generic parameters ingenerate_default_from_enum_variant.#22595exclude leading and trailing trivia in SCIP definition ranges.#22676don't usemetadata_extra_argswith the sysroot.#22703includewalkthrough_create_projectinto the VSIX.
Internal Improvements
#22685(first contribution) bumpitertools.#22639,#22667remove input queries from#[query_group].#22700remove#[salsa::lru]support in#[query_group].#22702,#22704remove#[salsa::invoke_interned]support from#[query_group].#22689inlineExpandDatabase::expand_proc_macrointo its caller.#22699removeExpandDatabase::proc_macro_spanin favor of the underlying function.#22485removeclone_for_updatefromide-ssr.#22668addSyntaxElement::tree_top.#22690fix non-UTF-8 string in asmol_strtest.#22684,#22727document some less-known features.#22666disallow AI usage forE-easyandE-has-instructionsissues.
See also the changelog post.
2026-06-29
Commit: 972c4e7
Release: 2026-06-29 (v0.3.2955)
New Features
#22466addmut-ref-in-imm-ref-patdiagnostic.#22645offer quick fix adding.awaitfortype_mismatch.
Performance Improvements
#22637bumpsalsa(saves 70 MB onanalysis-stats self).
Fixes
Internal Improvements
#22633(first contribution) markinline_convert_while_asciias unsafe.#22115switch fromlsp-typestogen-lsp-types.#22658moveExpandDatabase::syntax_contexttoHirFileId.
See also the changelog post.
2026-06-22
Commit: 69ccffd
Release: 2026-06-22 (v0.3.2946)
New Features
-
#22103add "Create Rust project" command:588125554-92a3f6a0-7d25-4dea-9d46-a58430c63f86.mov
Performance Improvements
#22615don't load unnecessary path dependency files into the VFS.#22627don't visit nodes multiple times during GC.
Fixes
#22591fix execution of benchmark runnables.#22594fix bit/byte mismatch during const eval.#22601fix crash on static constants in array length positions.#22621don't panic on out-of-range integer literals in const positions.#22599check for#[cfg]in tail expression macros.#22486,#22617don't complete.awaiton receivers of unknown type.
Internal Improvements
#22604don't rely onFxHashSetiteration order in SCIP.#22625tracksalsacancellation time in loop turn warning.#22351migratemerge_importstoSyntaxEditor.#22516bye-byeted.
See also the changelog post.
2026-06-15
Commit: cc27280
Release: 2026-06-15 (v0.3.2937)
New Features
#22549support excluding enum variants from flyimport.
Performance Improvements
#22579defer initial workspace flycheck until cache priming completes.
Fixes
#22575(fist contribution) don't count...as a parameter for function pointers.#22566fix closure capture analysis with destructuring assignments.#22545makeinline_type_aliaswork on ADT definitions.#22551handle macro calls ininline_local_variable.#22584offerinline_macroin macro calls.#22574use package id as argument to--packageif package when not unique.
Internal Improvements
#21868(first contribution) migrateextract_moduleassist toSyntaxEditor.#22571(first contribution) remove unnecessary feature flags from tests.#22505disallow using LLMs for comments and autonomously-filed PRs or issues.#22588add RFMF funding links.
See also the changelog post.
2026-06-08
Commit: 7ea2b25
Release: 2026-06-08 (v0.3.2929)
New Features
-
#22469(first contribution) addinfer-vars-not-alloweddiagnostic. -
#22512(first contribution) parse unstable unnamed enum variants. -
#22448add "Evaluate Predicate" command:597728705-8273a170-caa5-4ab9-8f17-a5cd04944f10.mp4
-
#22481lower field defaults. -
#22495usemimallocfor Windows releases.
Fixes
#22520don't emit "type annotations needed" errors oninclude_bytes!().#22524parse|pattern types.#22503try to improve completion ranking.#22457dereference LHS in assignments instead of adding&mutintype_mismatchquick fix.#22507hidera@gennewinhaly hints.#22508don't add bothdropandpin_dropinadd_missing_impl_members.#22519don't add unused generic parameters ingenerate_trait_from_impl.#22523handle mutable access better inextract_function.#22506killproc-macro-srvprocesses on shutdown.#22522fix test runnables inrust-project.json.
Internal Improvements
#22510simplifymir::ProjectionElemand bring it closer therustcversion.#22533remove AST types fromFoldKind.#22528improve panic message whenFileSourceRootInputis missing.
See also the changelog post.
2026-06-01
Commit: c5d30e2
Release: 2026-06-01 (v0.3.2921)
New Features
#22411addcannot-implicitly-deref-trait-objectdiagnostic.
Performance Improvements
#22493makeMemDocscheap to clone since it's snapshotted.
Fixes
#22473port block and loop inference fromrustc.#22476only complete functional record update at the end of the literal.#22449fix an expected analysis regression with enum variants.#22409,#22453filter out reference completions for generic reference parameters.#22452prioritize missing fields in pattern completion.#22437handle macros inextract_module.#22447fixextract_variablein macro calls.#22498also consider library features internal.#22426fix potential panic inCfgDiffformatting.#22342don't double references with&mut Tinadd_reference_here.#21566fixSyntaxContextroots potentially overlapping interneds.
Internal Improvements
#22465improve syntax mapping inforloop desugaring.#22474intern MIR projections using the new type interning infrastructure.#22477,#22484replaceast::makewithSyntaxFactoryinderive_macro,edits,prettify_macro_expansion_andrename.#22500always use sysroot crates forproc-macro-srv.#22427fix inactive region handling inMiniCore.#22501don't depend onsalsafor theproc-macro-srvCI job.#22492,#22502use 1 CGU for release builds.
See also the changelog post.
2026-05-25
Commit: de5824b
Release: 2026-05-25 (v0.3.2913)
New Features
#22406(first contribution) addmutable-refdiagnostic.#22424(first contribution) addarray-pattern-without-fixed-lengthdiagnostic.#22404addcannot-index-intodiagnostics.#22416support excluding subitems from completions.
Performance Improvements
#22322improve incrementality for modules.
Fixes
#22432(first contribution) filter package-scoped features in flycheck.#22430(first contribution) saturate float to uint cast in const eval.#22415(first contribution) allow wildcard parameters in foreign function declarations.#22252refactor handling of generic parameters inhir::Type.#22396support named consts in range pattern types.#22392don't try autoref during method probe in path mode.#22385auto-import enum variants.#22425expected tuple struct pattern field in expected type completions.#22397complete macro paths in macro calls.#22399fixref_matchcompletions in macro calls.#22408don't complete semicolon in match expression.#22419use grouped annotation inadd_label_to_loop.#22369use wildcard on sad path inreplace_if_let_with_matchwith guard.#22383return a specific error for unimplemented built-in macros.
Internal Improvements
#22420clean up bidirectional proc macro server protocol.
See also the changelog post.
2026-05-18
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,#22378addinvalid-range-pat-type,non-exhaustive-record-pat,method-call-illegal-sized-bound,fru-in-destructuring-assignment,cannot-be-dereferencedandexplicit-drop-method-usediagnostics.#22082,#22368,#22384add pattern type support.
Performance Improvements
#22329encode the name instead of index inEnumVariantIdfor better incrementality.#22191use theLineIndexinRootDatabasein the proc macro server.
Fixes
#22358,#22381showconstandunsafein signature help.#22357showRunlens forfn mainin bench targets.#22363fix false positivetrait-impl-missing-assoc_itemwithSelf: Sizedbounds.#22376hide duplicate completions originating fromDerefchains.#22367fix spurious reference completions.#22386don't complete::before existing::in paths.#22354don't drop path segment inqualify_path.#22344handle macro calls inextract_function.#22335add parameter to the closures produced byreplace_method_eager_lazy.
Internal Improvements
#22352(first contribution) migrateinline_callassist to `SyntaxEditor.#22313refactor visiting and tracking of placeholder types.#22328remove interning from#[query_group].#22119remove some usages ofDbInterner::conjure.#22391ignoreworkspace/diagnostic/refreshin slow tests.
See also the changelog post.