Releases: rust-lang/rust-analyzer
2025-06-30
Commit: 6df1213
Release: 2025-06-30 (v0.3.2519)
New Features
#20077(first contribution) take an optional"args": "cursor"in the VS Code "Run" command.#19546highlight return values as related tomatch/if/=>.#20100lowerPointeeSizedto?Sizedto support the newSizedtrait hierarchy.#20105parse new[const] Traitsyntax.
Fixes
#20110don't show float completions on integer literals.#20096don't show notifications on failedrustfmtcalls.#20121don't append--compile-time-depsto build script commands.#20073useROOThygiene forargsin the newformat_args!expansion.#20069fix cargo project manifest not pointing to the workspace root.#20072respect configuredbuild.target-dir.#20061don't wrap exit points with the right type in "Wrap return type".#20103prettify AST inPathTransformif it's coming from a macro.#20080clean up and expandfolding_ranges.#20092don't complain aboutrustcworkspace loading if it's not required.#20036don't default to'staticfor trait object lifetimes.
Internal Improvements
#20012(first contribution) bumpliteral-escaper.#20088de-Arctrait items query.#20087short-circuit a couple of queries.#20106make theVariantFieldsquery more idiomatic.#20098unify formatting of progress messages.#20104clean upprovideCodeActionsVS Code hook.#20116cancel CI workflow only after the main matrix has finished.#20084fix CI job cancellation on Windows.
See also the changelog post.
2025-06-23
Commit: 0100bc7
Release: 2025-06-23 (v0.3.2509)
New Features
#19939addrust-analyzer.assist.preferSelfto preferSelfinstead of the enum name in assists.#20047usecargo check --compile-time-depswhen available.#20020reload workspaces whencargoconfig changes.#20018copy lockfile into target directory before invokingcargo metadata.#20056support the newformat_args!expansion in 1.89.#20014show whatcargo metadatais doing.
Fixes
#19945add quickfix to theprivate-fielddiagnostic.#20025(first contribution) hide imported private methods if "private editable" is disabled.#20041revert "turnBlockIdinto a#[salsa::tracked]".#20022never make type mismatch diagnostic stable, even when there is a fix.#20023improve completions inif/whileexpression conditions.#20039fix closure capturing inletexpressions.#20035pass--color=alwaysfrom Test Explorer.
Internal Improvements
#19495start infestingidecrates with a'dblifetime.#20046addhir::TypeParam::parentmethod.#20050improve documentation for excluding imports from symbol search.
See also the changelog post.
2025-06-16
Commit: a207299
Release: 2025-06-16 (v0.3.2500)
New Features
#19996add support for excluding imports from symbol search.#19837,#19985provide better incrementality when items are changed.
Fixes
#19963do not report errors for unsized types withoutwhere Self: Sizeditems.#19970fix proc macro server handling of strings with minuses.#19973hidedyninlay hints for incompleteimpls.#19942fix completions with some attribute macros.#19981do not force-descend into derives for goto IDE features.#19983fix comparison of proc macros.#20000allow lifetime repeats in macros ($($x)'a*).#19990generate annotations for macro-defined items if their name is in the input.
Internal Improvements
#19982,#19991simplify and optimizeItemTree.#20009optimizepub(crate)andpub(self)visibility resolution.#20007,#20008makesalsausage more idiomatic.#19995turnBlockIdinto a#[salsa::tracked].#20006clean up incremental tests and verify query execution.#19997removeInternedCallableDefId.#19980de-duplicateItemTreeItemVisibilities.#19992useThinVecinItemScopein a couple places.#19984removepref_align_ofintrinsic handling, rename{min_=>}align_of{,_val}.#19930add support for type-erasedSemantics<'db, dyn HirDatabase>.#19975test incremental trait solving.#19989bump some deps.
See also the changelog post.
2025-06-09
Commit: 9fc1b90
Release: 2025-06-09 (v0.3.2490)
New Features
#19893enhance renaming to include identifier variations that are generated by macros.#19908implement completions for#[diagnostics].#19922ddddynkeyword inlay hints.
Fixes
#19901(first contribution) increase the range of the tuple to named struct assists.#19869(first contribution) add diagnostic and quickfix to make private struct fields public.#19894handle cycles ininferandconst_param_ty_with_diagnostics.#19935always emit quickfixes, even when diagnostics are disabled.#19936,#19949stabilize the unlinked file and "JSON is not Rust" diagnostics.#19932,#19937record macro calls in signatures and fields inChildBySourceimpls.
Internal Improvements
#19933improve parser recovery for macro calls in type bound position.#19897produceCLOSURE_BINDERnodes.#19905clean up macro descension.#19928deduplicate some code in proc macro server.#19914add incremental tests checking forinferinvalidation.#19915,#19919,#19920,#19921try to fix autopublishing workflow.
See also the changelog post.
2025-06-02
Commit: 2a388d1
Release: 2025-06-02 (v0.3.2482)
New Features
#19876render padding information when hovering on structs.#19881add assist to desugarlet pat = expr?;intolet else.#19819change import prefix default tocrate.#19890make import insertion#[cfg]-aware.
Fixes
#19879fix IDE layer not resolving some macro calls.#19880handle included files better at the IDE layer.#19872fix inference ofAsyncFnreturn types.#19864properly implementmight_be_inside_macro_callusing semantic information instead of syntactical hacks.#19851normalize when checking for uninhabited types for pattern exhaustiveness checks.#19875skip pattern analysis on type mismatches.#19899account for "Generate" actions when filtering the allowed ones.#19785,#19792keep indent ingenerate_newandgenerate_mut_trait.#19900generate diagnostics docs for the manual.
Internal Improvements
#19877(first contribution) remove support forconcat_idents!.#19861(first contribution) add documentation forfind_all_refsconstructor search.#19896restructure some semantics APIs for virtual macro files.#19898remove unncessary duplication inhighlight_related.#19888recognize salsa cycles inthread_result_to_response.#19850add support for type-erasedSemantics<'db, dyn HirDatabase>.
See also the changelog post.
2025-05-26
Commit: d2f1787
Release: 2025-05-26 (v0.3.2474)
Fixes
#19839correctly set the span of the proc_macro crate'sGroupdelimiters.#19824fix caching problems with lint levels.
Internal Improvements
#19757request cancellation while processing changed files.#19814debounce workspace fetching for workspace structure changes.#19809catch inference panics inanalysis-stats.#19840fixintegrated_benchmarks.#19853bumpsalsa.
See also the changelog post.
2025-05-19
Commit: e464ff8
Release: 2025-05-19 (v0.3.2466)
Fixes
#19793keep derive macros when removing unused imports.#19687highlight unsafe operations as related when the caret is onunsafe.#19801improveasm!support.#19794don't allow duplicate crates in theall_crateslist.#19807don't overrideRUSTUP_TOOLCHAINif it is already set.
Internal Improvements
#19796(first contribution) bump some dependencies for Cygwin support.#19808run metrics on the beta channel.
See also the changelog post.
2025-05-12
Commit: 2bafe9d
Release: 2025-05-12 (v0.3.2457)
New Features
#19740add assist to unwrap a type into its single generic argument.
Fixes
#19751(first contribution) supportCARGO_MANIFEST_PATH.#19763complete parentheses and method call arguments if the next line starts with a tuple.#19742fix incorrect handling of unresolved non-module imports in name resolution.#19746fix proc-macro API creating malformed negative literals.#19747fixmove_boundsassists with lifetimes.#19434support negative numbers inconcat!.#19764don't deref twice in postfix snippets.#19738fix panic on<T as Tr>without an associated type.#19507fix path resolution in outer doc comments.
Internal Improvements
#19721handle parallelism better in cache priming.#19707de-Arcdefmap queries.#19750remove unnecessary token length check for macros in renaming.#19749remove unnecessaryAsAnytrait.#19772make diagnostics experimental by default.#19748direct users to discussions instead of issues for questions.
See also the changelog post.
2025-05-05
Commit: 3b57c00
Release: 2025-05-05 (v0.3.2449)
Fixes
#19704add underscore mode for expression filling.#19733implement mut to const pointer cast for method resolution.#19732fix associated type bound variable starting index.#19699properly escape raw names in labels.#19247fix span info inmir::Operand.#19723improve parser recovery a bit.#19581render more lifetimes.#19735improve theletandletmsnippets.#19739temporarily disable fixpoint for variance computation.
Internal Improvements
#19685(first contribution) add PGO support toxtask install.#19713clean upcfgcheck handling in expression store lowering.#19469migratemerge_imports,unmerge_importsandlet_else_to_matchtoSyntaxEditor.#19708de-Arclanguage item queries.#19712clean up cache priming cancellation handling.#19731simplify macro call id construction.#19714remove unnecessary extension trait.#19719adjust panic context printing.#19727remove a couple of unnecessaryclones.#19716bump salsa (saves 212 MB onanalysis-stats self).
See also the changelog post.
2025-04-28
Commit: d8887c0
Release: 2025-04-28 (v0.3.2441)
New Features
#19634,#19629allow unsetting env vars inextraEnvconfigs.#19479,#19676,#19672,#19675add some new diagnostics for incorrect generic arguments.#19692add an assist to remove underscores from used variables.#19653parsesuper let.#19643parse generic consts.
Fixes
#19622(first contribution) fix some bugs in the string rewriting assists.#19604(first contribution) add semicolon tousecompletion.#19657improve support foroffset_of!().#19636fixcompletion_snippets_customconfig always erroring out.#19650support unstableUnsafePinnedstruct in type layout computation.#19647fix panics in inlay hints that produce empty text edits for closure return types.#19684report error when unable to parse aDiscoverProjectMessage.
Internal Improvements
#19678arena-allocateLifetimeRefs.#19655fold hygiene map into the bindings themselves.#19677removeWherePredicateTypeTarget.#19644make predefined symbolsconstinstead ofstatic.#19688add some missingshrink_to_fit()s and upgradedashmapandhashbrown.#19624bumpchalkto make the generic parameter order matchrustc.#19661bumpsalsa.
See also the changelog post.