Releases: rust-lang/rust-analyzer
2025-03-10
Commit: 5e7dd31
Release: 2025-03-10 (v0.3.2337)
New Features
Fixes
#19226(first contribution) improve completions that return a reference.#19279(first contribution) addletmand improveletkeyword completion.#19308bring back support for Rust 1.78 projects.#19261support tuple structs inexpand_rest_pattern.#19324fix adding of brackets in "Inline variable".#19297fix completion relevance check.#19290warn whencargo metadatafails.#19292handle modifiers in punctuation highlighting.#19274don't highlight unsafe definitions asunsafe.#19295make "rust-analyzer: Run" available in manifest file.
Internal Improvements
#19288(first contribution) usesize_offrom the prelude.#19244,#19275warn when the active toolchain is too old.#19286twiddle with therustupinvocation on CI.
See also the changelog post.
2025-03-04
Commit: 02862f5
Release: 2025-03-04 (v0.3.2330)
New Features
#19243allow unsetting default#[cfg]s.
Fixes
#19226(first contribution) improve completions that return a reference.#19261support tuple structs inexpand_rest_pattern.
Internal Improvements
See also the changelog post.
2025-03-03
Commit: 81ff38f
Release: 2025-03-03 (v0.3.2328)
Announcement
The x86-64, AArch64 and ARM Linux binaries now target GLIBC 2.28, and will keep doing so for the foreseeable future, which might be until June 2029.
In addition, this version drops support for toolchains older than 1.82.
New Features
#18987calculate drop glue and show it on hover.#19259add "flip or-pattern" assist.#19230set up Zig on CI and start using it in rust-analyzer.
Fixes
#19197(first contribution) updateinstainline snapshot usingcargo instawhen clicking "Update Test" runnable.#19246(first contribution) add anchor for intra-doc links to associated items.#19266(first contribution) addidentifierto pull diagnostic LSP capabilities.#19211include private items in completions for local crates.#19223support target features implications intarget_feature1.1.#19204allowpackage/featureformat for features.#19241map crate ids for proc macros in sysroot crate graph construction.#19249avoid unnecessary parantheses in prefix adjustment hints.#19250use precedence calculation for parentheses ininline_local_variable.#19221add tab stop to impl body ingenerate_trait_impl.
Internal Improvements
#19239(first contribution) configure out performance counters onohosto fix compilation.#19096allowrust-project.jsonto specify sysroot workspace.#19225migrateremove_mut,remove_paranthesesandremove_unused_paramtoSyntaxEditor.#19171migrateapply_demorgantoSyntaxEditor.#19253migrateconvert_bool_thentoSyntaxEditor.#19251remove syntax editing from parenthesis computation.#19257clean up syntax highlighting.#19219vendoralways-assertintostdx.#19237enable doctests.#19218make release builds from source non-incremental.#19194bump VS Code extension deps.
See also the changelog post.
2025-02-24
Commit: 6d68c47
Release: 2025-02-24 (v0.3.2319)
New Features
#19158(first contribution) addexpand_glob_reexportassist.#19127refactor path lowering and serve a new path diagnostic.
Fixes
#19151(first contribution) use correct working directory for proc macro execution.#19179disable assists with many results if grouping not supported.#19182fix associated type lowering in trait bounds.#19167fix detection ofrefpatterns for path patterns.
Internal Improvements
#19209(first contribution) fix inline parser codegen test.#19191removelimitcrate in favorusize.#19188useubuntu-latest(with Rocky Linux 8) workers for releases.
See also the changelog post.
2025-02-17
Commit: 84b6936
Release: 2025-02-17 (v0.3.2308)
Fixes
#19088(first contribution) fix resolution with modules that shadow built-in types.#19117,#19144(first contribution) don't emit implicit drop inlay hints in macro calls.#19137(first contribution) highlightextern cratein doc comments.#19156(first contribution) mark~/.cargo/git/checkoutsas read-only.#19129fix postfix completions in macro calls.#19148,#19160improve error recovery when calling a field or associated function.#19125censor#[cfg_attr]for attribute macros.#19124fix off-by-one error in range formatting.#18998makerust-analyzer.files.excludeDirsactually work.#19111apply adjustments to proper expression inCoerceMany.#19109do not show safety hints for extern items lacking semantics.#18928handle character boundaries in import search.#18995lower range pattern bounds to expressions.#19143propagate error types in MIR type projections.
Internal Improvements
#19110(first contribution)panic_context.#19142spawn toolchain querying processes in parallel.#19155migrateadd_missing_match_armstoSyntaxFactory.#19163stabilize sort order ofrelated_tests.#19161,#19166improve sort order of runnables.#19159setRUSTUP_TOOLCHAINwhen loading sysroot workspace.#19150applycfg.setTesttorust-project.json.
See also the changelog post.
2025-02-10
Commit: 35181e1
Release: 2025-02-10 (v0.3.2299)
New Features
#19104add option to disable inlay type hints for closure parameters.
Fixes
#19066array types from slice patterns.#19094fix IDE resolution ofuseinside bodies.#19086fix some MIR eval and lowering issues.#18912up-map ranges inconvert_tuple_struct_to_named_struct.#19105don't emit empty SCIP occurrence for built-ins.#19062fix SCIP indexing of module names.#19106resolve projection types before checking pointer casts.
Internal Improvements
#19083(first contribution) don't try to use NEON on big-endian AArch64.#19084split cache priming into distinct phases.#19085don't useInferenceResult::has_errorsflag for MIR building.#19099use interior mutability for loadedProcMacroSrv::expanders.#19093prevent panics from tearing down worker threads.
See also the changelog post.
2025-02-03
Commit: f3998f7
Release: 2025-02-03 (v0.3.2291)
New Features
Fixes
#19061temporarily disableReceiver-based completions.#19050don't suggest.into_iter().method()on iterators.#19047fix syntactic highlighting for renames.#19044fix#[rustc_deprecated_safe_2024].#19045fix a missing standard semantic token.#19037delay recursion check, to help with custom#[test]macros.#19051mark unsafe function pointer calls as unsafe.#19056properly handle CRLF line endings in the syntax tree view.#19057show status bar item in the VS Code Output pane.
Internal Improvements
#19072(first contribution) be more principled when computingcompletion_item_hash.#19055(first contribution) enable some working code on FreeBSD.#19052,#19080prioritize formatting tasks and only take read VFS lock when rebuilding the crate graph.#19036split outExpressionStorefromBody.#19070remove mutable syntax tree usage from adjustment hints.#19067bump TentHash to 1.0.#19015convert manual to mdBook.
See also the changelog post.
2025-01-28
Merge pull request #19061 from Veykril/push-rwyqqtqmnput Disable `Receiver` based autoderef temporarily
2025-01-27
Commit: 2df4ecf
Release: 2025-01-27 (v0.3.2282)
New Features
#18934add the ability to jump fromintotofromdefinitions.#18993make auto-insertion ofawaitanditer()in completions configurable.#19012implementarbitrary_self_types.
Fixes
-
#19004(first contribution) increaseAUTODEREF_RECURSION_LIMITto 20. -
#18973make niches into nices (improve niche count rendering). -
#19034don't complete#[doc(hidden)]enum variants and use trees. -
#18976consider enum variants in type ns resolution. -
#18988de-prioritize completions that addawaitanditer(). -
#19028filter by path stability in flyimport. -
#19030fix markdown horizontal ruler sometimes being treated as a heading. -
#19020prevent infinite recursion when formatting bounds. -
#19017fix flycheck panic withonceinvocation strategy. -
#18977fix missing upmapping in trait impl completion. -
#18982reduce "Extract variable" range. -
#18967properly record meaningful imports as re-exports in symbol index. -
#18986go toDisplay::fmtwhen invoked onto_string. -
#19014checkcfgs when collecting macro defs. -
#19026only collect implicit visibile use symbols if they have renames. -
#19033makeproc-macro-srvspans lines and columns 1-indexed (but always 1). -
#19019explicitly add buildfiles when constructingProjectFolders. -
#18989only refresh syntax tree view when the active document changes.
Internal Improvements
#18981(first contribution) make usage ofRTLD_DEEPBINDin proc macro server portable.#18991keep already computed inlay hint properties instead of late resolving them.#19029skip redundant path search inresolve_completion_edits.#18909usestrict_provenancein symbol interner.#18984move dual blanketimpllogic fromsource_analyzertogoto_def.#18990clean upNamestring rendering.#18994treat cfg fetching failures as a warning, not error.#18878document allrust-project.jsonfields.#18972drop outgoinglsp-servermessages on a background thread.
See also the changelog post.
2025-01-20
Commit: 248bd51
Release: 2025-01-20 (v0.3.2273)
New Features
#18917add dereferencing completions.#18927automatically includeawait,iter()andinto_iter()in completions#18925render type parameter projection target bounds in inlay hints.#18946,#18950show "Go to type definition" actions for type bounds in functions.#18952completerawandconstkeywords.#18939fliprust-analyzer.typing.excludeCharsto be opt-in, with better defaults.
Fixes
#18908(first contribution) report errors blocks beforeelseinlet-else.#18953(first contribution) fix broken#[cfg(debug_assertions)].#18933(first contribution) bump updatenotifyto fix a Windows crash.#18944updatechalk, to fix trait upcasting.#18949partially back out "fix source root construction for virtual manifests".#18929avoid stack overflow when reaching macro expansion limit.#18940fixSemanticsnot always caching file roots correctly.#18922don't return inlay hints outside requested range.#18897maketest_runner::TestState::stdoutoptional to fix parsingcargo testJSON output.#18968enableunstable-optionsforcargo rustc --print.#18937hide syntax tree view by default.
Internal Improvements
#18957update syntax tree viewer docs.#18951add missing#[rust_analyzer::rust_fixture]annotations.
See also the changelog post.
