Releases: rust-lang/rust-analyzer
Releases · rust-lang/rust-analyzer
nightly
Merge pull request #21240 from benodiwal/feat/inlay-hint-missing-argu…
2025-12-15
Commit: 87cf663
Release: 2025-12-15 (v0.3.2719)
New Features
Fixes
#21253(first contribution) don't register twice fordidSaveTextDocument.#21265(first contribution) properly handle multiple lint attributes on the same item.#21238(first contribution) add a stubis_transmutableto avoid panicking.#21226(first contribution) show generic args when displaying traits.#21235pass environment to fix a const generics panic.#21251fix a panic inTypeBound::kind().#21233revert "turnBlockLocinto a tracked struct".#21244support#[rustc_deprecated_safe_2024(audit_that = reason)].#21210fix completion with{{{and_in format strings.#20754keep labels and attributes inconvert_for_to_while_let.#21239add missing parameter inreplace_method_eager_lazy.#21044keep generics ingenerate_fn_type_alias.#21175fix indent intoggle_ignore.#21264don't offerbind_unused_paramin closures.#21256demoteadd_return_type.#21187include overloaded operators in SCIP index.#21221don't needlessly add visibility inno_such_fieldquick fix.
Internal Improvements
#21225giveFileSymbola'dblifetime.#21263use generated names in oldformat_args!lowering.#21174,#21199migrateconvert_iter_for_each_to_forandgenerate_delegate_traitassists toSyntaxEditor.#21209do not create stale expressions in body lowering.#21252fix two Clippy lints.
See also the changelog post.
2025-12-08
Commit: 5e3e9c4
Release: 2025-12-08 (v0.3.2711)
New Features
#21218bump minimum supported toolchain version from 1.78 to 1.90.
Fixes
#21205(first contribution) handle#[cfg]in macro input attribute stripping.#21203add configuration option to hide placeholder type hints.#21222don't complete unit return type in async associated items.#21215don't implement sizedness check viaall_field_tys.#21190,#21195more proc macro server fixes.#21223temporarily disablepostcard.#21198add missing semicolon in incompleteletcompletion.#21183registerdefine_opaquebuilt-in attribute macro.#21164allow multiple active discovery operations.
Internal Improvements
#21182removeTraitEnvironment.#21178makeModuleIdandBlockLoctracked structs.#21208handle lint attribute expansion inhir.#21188fix rustdoc warnings and enable them on CI.#21189removemdbook-tocusage from the book.
See also the changelog post.
2025-12-01
Commit: d646b23
Release: 2025-12-01 (v0.3.2702)
New Features
#21027(first contribution) build releases with static CRT for-windows-msvctargets.#21121add basic support for declarative attribute and derive macros.#20125display inferred placeholder types inlay hints and use them in "Extract type as type alias".
Fixes
#21077(first contribution) handle more block types and show modifiers in closing brace inlay hints.#21151don't run cache priming when disabled.#21095fix iterator completions after auto-deref.#20937don't suggest duplicateconstcompletions afterraw.#20976fix completion after inner attributes.#21144fix completion afterexternand addcratecompletion.#21028complete enum aliases in patterns.#21126fix parameter info with missing arguments.#20163use per-token, not global, edition in the parser.#20164pass the per-token, not global, edition when expanding declarative macros.#20217use root hygiene for speculative resolution.#21170support multipleenabled features in#[target_feature].#21159,#21172rewritedyn Traitlowering to follow rustc.#20685support multiple variants ingenerate_enum_{is,projection}_method.#20967offerreplace_method_eager_lazyonand.#21141setenclosing_rangein the SCIP index.#21131check snippet capabilities in#[cfg(…)]key completion.#21023fix handling of cloned elements inSyntaxEditor.#21147show a dropdown in the UI forrust-analyzer.imports.granularity.group.
Internal Improvements
#20892reintroduce attribute rewrite.#21097,#21145,#21146,#21154reimplement proc macro server token trees as immutable, to speed up concatenation.#20986,#21133,#21135,#21139,#21179integratepostcardinto the proc-macro server.#21149use a single query per crate for lang items.#21167shrinkInferenceResultby ~40 bytes.#21169use newsalsaAPI forinfer.#21115bumprustccrates.#21177fixSmolStrpretty-printing forRepr::Static.
See also the changelog post.
2025-11-24
Commit: 4a2b38f
Release: 2025-11-24 (v0.3.2693)
New Features
#21100(first contribution) add semantic token modifier for deprecated items.#21068(first contribution) makedyninlay hints configurable.#21093add assist to convert char literals.#20974rewrite method resolution to follow rustc more closely.#21015parse cargo config files with origins.
Fixes
#21090,#21092(first contribution) don't offer to remove parantheses around control flow expressions.#21083complete#[cfg(…)]keys.#20980remove some deep normalizations from inference.#21084fix formatting request blocking on thecrate_def_mapquery.#21061infer array lengths.#21060,#21113,#21026improve pattern inference.#21036handle references in postfix completions.#21053fix panic inextract_functionwhen a variable is used multiple times in a macro call.#21074support parameters with the same name as a macro inadd_missing_impl_members.#21065fix field completion in irrefutable patterns.#21018handle comments inprivate_fieldquick fix.#21042import full path inreplace_qualified_name_with_usewhen triggered on the first segment.#21038support multiple selected variants ingenerate_from_impl_for_enum.#20559add digit group separators inadd_explicit_enum_discriminant.#21111fill unguarded arms inadd_missing_match_arms.#21047add#[unsafe(…)]completion.#21048don't reportincorrect_caseon#[no_mangle]static items.#21098load targets of all types with paths outside package root.
Internal Improvements
#21094(first contribution) makeDefMapdumps more verbose.#21114(first contribution) disable thetracing/attributesin some crates.#21011(first contribution) provide a gdb pretty printer forSmolStr.#21017speed up cloning of inlineSmolStrvariants at the expense of heap ones.#21046,#21088improve start-up speed.#21087gather trait implementations during cache priming.#21085produce fewer progress reports on start-up.#21086reduce allocations intry_evaluate_obligations.#21059deriveParamEnvfromGenericPredicates.#21109migratereplace_qualified_name_with_useassist toSyntaxEditor.#21057implement precedence in HIR printing.#21103record lang item queries inanalysis-stats.
See also the changelog post.
2025-11-17
Commit: 2efc800
Release: 2025-11-17 (v0.3.2683)
Fixes
#20985allow renaming label afteradd_label_to_loop.#21003add block on postfix.constcompletion.#20542handle guards inreplace_if_let_with_match.#20972parseimpl ! {}.
Internal Improvements
#21021fix Docs.rs builds after movingsmol_str.
See also the changelog post.
2025-11-10
Commit: 21f8445
Release: 2025-11-10 (v0.3.2675)
New Features
#20565add "Convert rangefortowhile" assist.
Fixes
#20964canonicalizecustom-target.jsonpaths when fetching sysroot metadata.#20961consider more expression types asin_value.#20963expand literals with wrong suffixes intoLitKind::Err.#20971fix panic while resolving callable signatures forAsyncFnMut.#20957keep associated items ingenerate_blanket_trait_impl.#20973handle method calls inapply_demorgan.
Internal Improvements
#21005(first contribution) improve wording in testing docs.#20994reduce memory usage of symbol index.#20997only populate public items in dependency symbol index.#20995use newsalsaAPI forSymbolsDatabase.#20991,#20990,#20988mergetext-size,ungrammarandsmol_strinto rust-analyzer.#21002bump library editions to 2024 and remove legacy files.
See also the changelog post.
2025-11-03
Commit: bacc5bb
Release: 2025-11-03 (v0.3.2667)
New Features
#20186add option to exclude nearby derives from "Go to implementations" and implementations lens.#20906support opaques properly.
Fixes
#20921avoid callingspecializes()query on crates that do not define#![feature(specialization)].#20920resolvetarget-dirmore precisely.#20369change method to associated function calls when renamingself.#20931show proper async function signatures in the signature help.#20930fix handling of nested block modules.#20919consider all matches for flyimport even when searched with a qualifier.#20942fix false positive syntax errors on frontmatters.#20934improve error recovery with malformed function return types.#20915offerreplace_is_method_with_if_let_methodinwhileexpression.
Internal Improvements
#20922reduceclient_commandsallocations in LSP conversion.#20927support memory profiling usingdhat.
See also the changelog post.
2025-10-28
Merge pull request #20922 from Veykril/veykril/push-pznvunxxozkq perf: Reduce `client_commands` allocations in proto conversion
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]...