Releases: rust-lang/rust-analyzer
2025-10-27
Commit: 049767e
Release: 2025-10-27 (v0.3.2658)
New Features
#20854feat (first contribution) parse script frontmatter.#20837feat (first contribution) exposeaddConfigurationAPI from the Code extension.#20329,#20445,#20446,#20454,#20470,#20447,#20496,#20497,#20502,#20506,#20523,#20527,#20537,#20545,#20553,#20563,#20586,#20609,#20578,#20647,#20645,#20649,#20654,#20665,#20671,#20677,#20664,#20717,#20728,#20733,#20735,#20738,#20765,#20777,#20785,#20814,#20834,#20841,#20867,#20873,#20882,#20888,#20896,#20893,#20895switch from Chalk to the next trait solver.#20632support navigation on primitives.#20760addall,anyandnotcompletions in#[cfg].#20806,#20835log flycheckstdoutandstderrto files.#19771add "Generate blanket trait impl" assist.#20705add "Flip range expression" assist.#19918add "Removeelsebranches" assist.#20855improve fixture support.
Fixes
#20583(first contribution) addrust-analyzer.semanticHighlighting.comments.enableoption.#20697,#20745(first contribution) fix negative literals in const generics.#19867(first contribution) allow&raw [mut | const]for union fields in safe code.#20432(first contribution) improve identifier pattern handling in assists.#20891(first contribution) addnegationsemantic token type.#20425(first contribution) add parser heuristic to warn on unterminated strings.#20520add option to hide reborrows in adjustment inlay hints.#20721implement fallback properly.#20755add#[doc = include_str!(…)]completion.#20423make import sorting order follow the 2024 edition style.#20801small fixes for import insertion.#20866runcargo metadataon sysroot right from its path.#20554improve handling of theenv!macro.#20587deduplicate methods in completion by function ID and not by name.#20803replace--show-outputtask defaults with--nocapture.#20459track diagnostic generations per package.#20689make flycheck clearing dependency-aware.#20635don't trigger two flychecks when saving files that are part of targets.#20402add more workarounds for incorrect startup diagnostics.#20787fix spuriousincorrect_generics_lenon generic enum variants used through type aliases.#20770don't triggertrait-impl-incorrect-safetyon unresolved traits.#20642make#[target_feature]safe on WASM.#20504avoid infinite recursion while lowering associated type bounds from supertraits.#20720prevent rustup from automatically installing toolchains.#20528masquerade as nightly cargo when invoking flycheck with-Zscript.#20612fix "Expand macro recursively" on nested macro calls.#20517only compute unstable paths on nightly toolchains for IDE features.#20639resolve paths to snapshot test libraries absolutely.#20547don't highlight unrelated unsafe operation onunsafeblocks.#20579don't pass--targettorustctwice while fetching target data layout.#20475don't duplicate lang items with overridden sysroot crates.#20518fixelsecompletion inlet _ = if x {} $0.#20390addif-elsecompletions inletstatements and argument lists.#20620,#20657addelsekeyword completion afterletstatements.#20653don't output an empty generic parameters list ingenerate_function.#20708fix panic indestructure_struct_binding.#20702fixelsecompletion beforeelsekeyword.#20700fixextract_variableonif-let.#20709fix panic indestructure_struct_binding.#20710fix shorthand fields inunused_variables.#20661tighten up expected type completions inif.#20507handle expectedreturntype in completions.#20725fix lifetime elision handling forFn-style trait bounds.#20624fixlifetime_bounds.- [
#20723]...
nightly
Merge pull request #20914 from ShoyuVanilla/next-solver-tests Add regression tests for some fixed `A-ty` issues
2025-08-25
fix: Only compute unstable paths on nightly toolchains for IDE features
2025-08-11
Commit: 9db0550
Release: 2025-08-11 (v0.3.2577)
An Update on the Next Trait Solver
We are very close to switching from chalk to the next trait solver, which will be shared with rustc.
chalk is de-facto unmaintained, and sharing the code with the compiler will greatly improve trait solving accuracy and fix long-standing issues in rust-analyzer.
This will also let us enable more on-the-fly diagnostics (currently marked as experimental), and even significantly improve performance.
However, in order to avoid regressions, we will suspend the weekly releases until the new solver is stabilized.
In the meanwhile, please test the pre-release versions (nightlies) and report any issues or improvements you notice, either on GitHub Issues, GitHub Discussions, or Zulip.
New Features
#20420(first contribution) add config option to exclude locals from document symbol search.
Fixes
#20381check expected type for assignments in completions.#20382correctly go toimpl Fromfrominto()even inside macros.#20387do not remove the original token when descending into derives.#20412properly handle names matching identifiers ingenerate_function.#20418fixextract_expressions_from_format_stringonwrite!calls.#20354remove no-op calls inremove_dbg.#20384fix external docs URL for exported macros.
Internal Improvements
#20417(first contribution) fix parsing of trait bound polarity andfor-binders.#20419,#20429,#20434make flycheck generational.#20385migrateexpand_glob_importassist toSyntaxEditor.#20373generate anast::Module, notString, inextract_module.#20383removetedfromreplace_named_generic_with_impl.#20380removeadd_attrfromedit_in_placebecause it useted.#20409addwrite!andwriteln!tominicore.#20400disable error reporting when clamping a position.#20393fix non-LSP compliantResponsedefinition.#20392report the incorrect payload when failing to deserialize LSP messages.#20389slim down compile-time artifact progress reports.
See also the changelog post.
2025-08-04
Commit: 8d75311
Release: 2025-08-04 (v0.3.2563)
New Features
#20351change callers to use method call syntax when renaming a parameter toself.
Fixes
#20313fix variable substitution inrunnables.extraEnv.#20333do not require all rename definitions to be renameable.#20336check for snippet cap ingenerate_mut_trait_impl.#20337fix bounds display withimpl Trait.#20300don't addPanicssection fordebug_assert!.#20327don't show$saved_fileliterally in IDE status updates.
Internal Improvements
#20342reorganizeproc-macro-srv, add--formatand--versionargs.#20311,#20314,#20364,#20368,#20371migrateconvert_tuple_struct_to_named_struct,inline_type_alias,convert_from_to_tryfrom,generate_delegate_methodsandgenerate_trait_from_implassists toSyntaxEditor.#20303,#20372migratepath_transformtoSyntaxEditor.#20345addSyntaxEditor::delete_all.#20349fix new Clippy lints.#20154improve settings tree descriptions.#20335use GitHub app for authenticating sync PRs.
See also the changelog post.
2025-07-28
Commit: db02cdc
Release: 2025-07-28 (v0.3.2555)
New Features
#19938add "Generate impl for type" assist.
Fixes
#20271disable tests in flycheck ifcfg.setTestis set tofalse.#20262fix search of raw labels and lifetimes.#20273apply adjustments to patterns and expressions when doing pattern analysis.#20281parsefor<'a> [const].#20318ignoreDestructbounds again.#20290,#20315use temporary directory for copied lockfiles.#20319consider all produced artifacts for proc macro dylib search.#20302fix doc-comment folding with multi-line parameter lists.#20285useSelfwhen renamingselfparameter.#20256supportDerefingenerate_mut_trait_impl.#20297fix whitespace ingenerate_trait_from_impl.
Internal Improvements
#20272(first contribution) fix size asserts onx86_64-unknown-linux-gnux32.#20293,#20306,#20307,#20270migratereplace_derive_with_manual_impl,add_missing_impl_members,convert_to_guarded_return,extract_expressions_from_format_stringandgenerate_newtoSyntaxEditor.#20269migrateAstNodeEdit::IndenttoSyntaxEditor.#20289removeExpressionStoreDiagnostics::MacroError.#20278fupport filtering inanalysis-statsMIR lowering.#20280,#20282,#20279set uprustc-josh-sync.
See also the changelog post.
2025-07-21
Commit: 58e507d
Release: 2025-07-21 (v0.3.2547)
New Features
#19783add "GenerateFromimpl from single field" assist.#20265supportcfg_select!for the standard library.
Fixes
#20238infer lifetimes for GATs in expression/pattern positions.#19917handleAsRefandBorrowin "GenerateIndexMutimpl fromIndex".#20247transform tail expression&to&mutin "GenerateTraitMutimpl fromTrait".#20255fix bounds in "GenerateDerefimpl".
Internal Improvements
#20233(first contribution) expandlsp-serverexample.#20178clean up cargo config querying.#20234remove{ConstParam,TypeParam}::remove_default.#20246addAsMuttominicoreprelude.
See also the changelog post.
2025-07-14
Commit: 591e3b7
Release: 2025-07-14 (v0.3.2539)
New Features
-
#20054support folding multi-line parameter list with the function body: -
#20185include enum variants in world symbols. -
#20109makegenerate_newwork for tuple structs.
Fixes
#20192fix a panic in documentation rendering.#20180always bump in the parser inerr_and_bump.#20200revert "re-enable fixpoint iteration for variance computation".#20212fixdyninlay hints with parantheses and don't display them on HRTBs.#20210makenaked_asm!safe to call and fixglobal_asm!.#20232normalize projection types before const eval.#20235fixwhereclause position in trait associated item completion.
Internal Improvements
#20219outline parts ofExpressionStoreinto a different allocation.#20198,#20211,#20218migratepull_assignment_up,convert_named_struct_to_tuple_struct,convert_match_to_let_else,generate_implandremove_dbgassists toSyntaxEditor.
See also the changelog post.
2025-07-09
Commit: e429bac
Release: 2025-07-09 (v0.3.2533)
New Features
#20185include enum variants in world symbols.
Fixes
#20192fix a panic in documentation rendering.#20180always bump in the parser inerr_and_bump.#20200revert "re-enable fixpoint iteration for variance computation".
Internal Improvements
#20198migratepull_assignment_upassist toSyntaxEditor.
2025-07-07
Commit: 0ac6559
Release: 2025-07-07 (v0.3.2527)
New Features
Fixes
#20151only remove keyword prefixes (macro@ormacro) from links in the docs if the target is inferred.#20158don't warn about the proc macro server when the sysroot is missing.#20160reduce diagnostic range formacro_calls!.#20120fix value resolution inmatchpatterns.#20161fix closure capture analysis forletexpressions.#20167improve#[derive(Default)]expansion.#20031respect length limit and improve adjustment hint tooltips.#20179handle divergence in destructuring assignments.#20159always couple--compile-time-depswith--all-targets.#20170improve flycheck and build script progress reporting.#20112add workaround for missingDelimiter::Nonesupport to built-in macros.#20126improve panic message on discover command spawning errors.#20148honorrust-analyzer.cargo.noDepsoption when fetching sysroot metadata.
Internal Improvements
#20175(first contribution) remove special handling for box patterns inmatch_check.#20124remove last use ofrustc_pattern_analysis::Captures.#20156restructure proc macro loading erros.#20157re-enable fixpoint iteration for variance computation.#20184remove dead field fromInferenceContext.#20169skip unnecessaryBodySourceMap'seq.#20134,#20135,#20136,#20137,#20165migratereplace_is_method_with_if_let_method,promote_local_to_const,toggle_macro_delimiter,wrap_unwrap_cfg_attrandunmerge_match_armassists toSyntaxEditor.#20132addAsMut,BorrowandBorrowMuttominicore.#20144addload_workspace_into_dbversion ofload_workspace.#19923bumpsalsa.
See also the changelog post.
