Releases: rust-lang/rust-analyzer
nightly
Merge pull request #19375 from ChayimFriedman2/do-not-complete feat: Allow crate authors to control completion of their things
2025-03-24
Commit: 37acea8
Release: 2025-03-24
(v0.3.2353
)
New Features
Fixes
#19384
fix stale "BuildingCrateGraph
" report.#19416
handle multiple#[repr(..)]
attributes correctly.#19362
speed up resolving a "Generate delegate method" assist.#19348
add text edit support for return type hints on non-block body closures.#19413
properly calculate the layout of unsized tuple pointers.#19320
mark manual trait implementations as unsafe when replacing a derive.#19400
fix syntax highlighting for&raw const
/&raw mut
in standalone files.#19397
add postfix completion for const block.#19005
fix testing of packages with multiple targets.
Internal Improvements
#19408
replace#[derive]
s to reduce codegen burden for generated syntax types.#19390
do not useExpander
in associated item lowering.#19412
remove some unnecessary usages ofSemantics
.#19429
remove unused dependencies.#19419
render layout and other extra information when hoveringSelf
.#19329
add some docs toproc-macro-api
.#19379
bumpEdition::CURRENT
to 2024.#19378
triggersalsa
LRU at the end ofanalysis-stats
.#19315
do not generate docs with inxtask codegen --check
.#19391
clean upproc-macro-srv
CI job.
See also the changelog post.
2025-03-17
Commit: b0632f7
Release: 2025-03-17
(v0.3.2345
)
Announcement
This release brings two major changes, which might make it slightly spicier than usual.
The first is upgrading to the latest version of salsa
, the incremental evaluation framework used by rust-analyzer.
This will make it possible to implement parallel evaluation and persistency in the future.
The second change is to use salsa
for the crate graph, making it incremental.
Adding or removing a dependency, or editing a build script or proc macro, will now invalidate only the affected crates instead of the entire workspace.
New Features
-
#19079
,#19332
warn when a rename will change the meaning of the program:Screen.Recording.2025-02-02.015127.mp4
-
#18964
put a new batch ofsalsa
on rust-analyzer. -
#19337
putsalsa
on the crate graph. -
#19271
add "Convertfor
intowhile let
" assist.
Fixes
-
#19344
add icons to VS Code views: -
#19252
fix syntax fixup producing invalid punctuation. -
#19333
fix diagnostics being cleared right after being received. -
#19330
normalize projections in evaluated const display and layout calculation. -
#19363
display varargs in completion detail. -
#19325
rank ADT constructors as such for completion scoring. -
#19326
add missing name-ref parents to syntactic highlighting. -
#19327
fixpath
macro hygiene. -
#19311
log build script error output for Cargo projects. -
#19351
don't panic when the crate graph isn't ready. -
#19356
avoid recursively debug printing crates.
Internal Improvements
#19314
(first contribution)impl HasSource for VariantDef
.#19367
drop legacysalsa
.#19354
prepare for Return Type Notation (RTN) and add a diagnostic.#19232
bump chalk to get support for async closures.#19305
vendorquery-group-macro
in rust-analyzer.#19364
add missingwith_durability
calls.#19368
removeCrateGraphBuilder::iter_mut
.#19236
switch to the 2024 edition.#19369
do not error out for actions with no data to resolve.#19366
remove legacySyntaxContextId
re-export.#19228
split up some ADT queries.#19355
render root syntax contexts more clearly.#19343
makeGenericParamsCollector::type_or_consts
private.#19328
run proc-macro server tests in a separate CI job.#19334
remove generated mdbook files.
See also the changelog post.
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) addletm
and improvelet
keyword completion.#19308
bring back support for Rust 1.78 projects.#19261
support tuple structs inexpand_rest_pattern
.#19324
fix adding of brackets in "Inline variable".#19297
fix completion relevance check.#19290
warn whencargo metadata
fails.#19292
handle modifiers in punctuation highlighting.#19274
don't highlight unsafe definitions asunsafe
.#19295
make "rust-analyzer: Run" available in manifest file.
Internal Improvements
#19288
(first contribution) usesize_of
from the prelude.#19244
,#19275
warn when the active toolchain is too old.#19286
twiddle with therustup
invocation on CI.
See also the changelog post.
2025-03-04
Commit: 02862f5
Release: 2025-03-04
(v0.3.2330
)
New Features
#19243
allow unsetting default#[cfg]
s.
Fixes
#19226
(first contribution) improve completions that return a reference.#19261
support 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
#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.
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.