Releases: rust-lang/rust-analyzer
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
#18987
calculate drop glue and show it on hover.#19259
add "flip or-pattern" assist.#19230
set up Zig on CI and start using it in rust-analyzer.
Fixes
#19197
(first contribution) updateinsta
inline snapshot usingcargo insta
when clicking "Update Test" runnable.#19246
(first contribution) add anchor for intra-doc links to associated items.#19266
(first contribution) addidentifier
to pull diagnostic LSP capabilities.#19211
include private items in completions for local crates.#19223
support target features implications intarget_feature
1.1.#19204
allowpackage/feature
format for features.#19241
map crate ids for proc macros in sysroot crate graph construction.#19249
avoid unnecessary parantheses in prefix adjustment hints.#19250
use precedence calculation for parentheses ininline_local_variable
.#19221
add tab stop to impl body ingenerate_trait_impl
.
Internal Improvements
#19239
(first contribution) configure out performance counters onohos
to fix compilation.#19096
allowrust-project.json
to specify sysroot workspace.#19225
migrateremove_mut
,remove_parantheses
andremove_unused_param
toSyntaxEditor
.#19171
migrateapply_demorgan
toSyntaxEditor
.#19253
migrateconvert_bool_then
toSyntaxEditor
.#19251
remove syntax editing from parenthesis computation.#19257
clean up syntax highlighting.#19219
vendoralways-assert
intostdx
.#19237
enable doctests.#19218
make release builds from source non-incremental.#19194
bump VS Code extension deps.
See also the changelog post.
nightly
Merge pull request #19266 from the-mikedavis/lsp-pull-diagnostics-ide…
2025-02-24
Commit: 6d68c47
Release: 2025-02-24
(v0.3.2319
)
New Features
#19158
(first contribution) addexpand_glob_reexport
assist.#19127
refactor path lowering and serve a new path diagnostic.
Fixes
#19151
(first contribution) use correct working directory for proc macro execution.#19179
disable assists with many results if grouping not supported.#19182
fix associated type lowering in trait bounds.#19167
fix detection ofref
patterns for path patterns.
Internal Improvements
#19209
(first contribution) fix inline parser codegen test.#19191
removelimit
crate in favorusize
.#19188
useubuntu-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 crate
in doc comments.#19156
(first contribution) mark~/.cargo/git/checkouts
as read-only.#19129
fix postfix completions in macro calls.#19148
,#19160
improve error recovery when calling a field or associated function.#19125
censor#[cfg_attr]
for attribute macros.#19124
fix off-by-one error in range formatting.#18998
makerust-analyzer.files.excludeDirs
actually work.#19111
apply adjustments to proper expression inCoerceMany
.#19109
do not show safety hints for extern items lacking semantics.#18928
handle character boundaries in import search.#18995
lower range pattern bounds to expressions.#19143
propagate error types in MIR type projections.
Internal Improvements
#19110
(first contribution)panic_context
.#19142
spawn toolchain querying processes in parallel.#19155
migrateadd_missing_match_arms
toSyntaxFactory
.#19163
stabilize sort order ofrelated_tests
.#19161
,#19166
improve sort order of runnables.#19159
setRUSTUP_TOOLCHAIN
when loading sysroot workspace.#19150
applycfg.setTest
torust-project.json
.
See also the changelog post.
2025-02-10
Commit: 35181e1
Release: 2025-02-10
(v0.3.2299
)
New Features
#19104
add option to disable inlay type hints for closure parameters.
Fixes
#19066
array types from slice patterns.#19094
fix IDE resolution ofuse
inside bodies.#19086
fix some MIR eval and lowering issues.#18912
up-map ranges inconvert_tuple_struct_to_named_struct
.#19105
don't emit empty SCIP occurrence for built-ins.#19062
fix SCIP indexing of module names.#19106
resolve projection types before checking pointer casts.
Internal Improvements
#19083
(first contribution) don't try to use NEON on big-endian AArch64.#19084
split cache priming into distinct phases.#19085
don't useInferenceResult::has_errors
flag for MIR building.#19099
use interior mutability for loadedProcMacroSrv::expanders
.#19093
prevent 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
#19061
temporarily disableReceiver
-based completions.#19050
don't suggest.into_iter().method()
on iterators.#19047
fix syntactic highlighting for renames.#19044
fix#[rustc_deprecated_safe_2024]
.#19045
fix a missing standard semantic token.#19037
delay recursion check, to help with custom#[test]
macros.#19051
mark unsafe function pointer calls as unsafe.#19056
properly handle CRLF line endings in the syntax tree view.#19057
show 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
,#19080
prioritize formatting tasks and only take read VFS lock when rebuilding the crate graph.#19036
split outExpressionStore
fromBody
.#19070
remove mutable syntax tree usage from adjustment hints.#19067
bump TentHash to 1.0.#19015
convert 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
#18934
add the ability to jump frominto
tofrom
definitions.#18993
make auto-insertion ofawait
anditer()
in completions configurable.#19012
implementarbitrary_self_types
.
Fixes
-
#19004
(first contribution) increaseAUTODEREF_RECURSION_LIMIT
to 20. -
#18973
make niches into nices (improve niche count rendering). -
#19034
don't complete#[doc(hidden)]
enum variants and use trees. -
#18976
consider enum variants in type ns resolution. -
#18988
de-prioritize completions that addawait
anditer()
. -
#19028
filter by path stability in flyimport. -
#19030
fix markdown horizontal ruler sometimes being treated as a heading. -
#19020
prevent infinite recursion when formatting bounds. -
#19017
fix flycheck panic withonce
invocation strategy. -
#18977
fix missing upmapping in trait impl completion. -
#18982
reduce "Extract variable" range. -
#18967
properly record meaningful imports as re-exports in symbol index. -
#18986
go toDisplay::fmt
when invoked onto_string
. -
#19014
checkcfg
s when collecting macro defs. -
#19026
only collect implicit visibile use symbols if they have renames. -
#19033
makeproc-macro-srv
spans lines and columns 1-indexed (but always 1). -
#19019
explicitly add buildfiles when constructingProjectFolders
. -
#18989
only refresh syntax tree view when the active document changes.
Internal Improvements
#18981
(first contribution) make usage ofRTLD_DEEPBIND
in proc macro server portable.#18991
keep already computed inlay hint properties instead of late resolving them.#19029
skip redundant path search inresolve_completion_edits
.#18909
usestrict_provenance
in symbol interner.#18984
move dual blanketimpl
logic fromsource_analyzer
togoto_def
.#18990
clean upName
string rendering.#18994
treat cfg fetching failures as a warning, not error.#18878
document allrust-project.json
fields.#18972
drop outgoinglsp-server
messages on a background thread.
See also the changelog post.
2025-01-20
Commit: 248bd51
Release: 2025-01-20
(v0.3.2273
)
New Features
#18917
add dereferencing completions.#18927
automatically includeawait
,iter()
andinto_iter()
in completions#18925
render type parameter projection target bounds in inlay hints.#18946
,#18950
show "Go to type definition" actions for type bounds in functions.#18952
completeraw
andconst
keywords.#18939
fliprust-analyzer.typing.excludeChars
to be opt-in, with better defaults.
Fixes
#18908
(first contribution) report errors blocks beforeelse
inlet
-else
.#18953
(first contribution) fix broken#[cfg(debug_assertions)]
.#18933
(first contribution) bump updatenotify
to fix a Windows crash.#18944
updatechalk
, to fix trait upcasting.#18949
partially back out "fix source root construction for virtual manifests".#18929
avoid stack overflow when reaching macro expansion limit.#18940
fixSemantics
not always caching file roots correctly.#18922
don't return inlay hints outside requested range.#18897
maketest_runner::TestState::stdout
optional to fix parsingcargo test
JSON output.#18968
enableunstable-options
forcargo rustc --print
.#18937
hide syntax tree view by default.
Internal Improvements
#18957
update syntax tree viewer docs.#18951
add missing#[rust_analyzer::rust_fixture]
annotations.
See also the changelog post.
2025-01-13
Commit: 8364ef2
Release: 2025-01-13
(v0.3.2264
)
New Features
#18880
(first contribution) add config to include additional paths in the VFS.#18885
(first contribution) changerust-analyzer.cargo.cfgs
from a map to a list.#18907
implement#[rust_analyzer::skip]
for bodies.#18903
implement implicit sized bound inlay hints.#18813
reimplement the syntax tree view as a sidebar.#18906
reimplement Rust string highlighting using a tool attribute.#18788
re-removerust-analyzer.cargo.sysrootQueryMetadata
.
Fixes
#18832
(first contribution) do not offer completions within strings in macro calls.#18866
(first contribution) fix JSON project buildfile inclusion.#18858
clear diagnostics on cancel unconditionally.#18853
fix case where completion inside macro that expands to#[test]
was unavailable.#18864
fix diagnostics not clearing between flychecks.#18877
fix performance issue on missing MBE bindings.#18884
fixenv!
completions.#18900
do not callprettify_macro_expansion
unless "Inline macro" has actually been invoked.#18904
improve module path rendering in hover.#18861
make edition per-token, not file.#18920
fixref
text edit for binding mode hints.#18889
fix token lookup in macro call completions.#18899
fix another panic in fixup reversing.
Internal Improvements
#18855
migrateif-let
replacement assists toSyntaxEditor
.#18524
migrate(un)wrap_return_type
assists toSyntaxEditor
.#18902
addDefinition::Crate
.#18921
compute inlay hint text edits lazily.#18923
compute inlay hint tooltips lazily.#18867
supporttarget-tuple
(vs.target-triple
) and clean up version fetching.#18887
refactor test helpers withinide-completions
.
See also the changelog post.