Releases: rust-lang/rust-analyzer
2024-10-28
Commit: 3b3a87f
Release: 2024-10-28
(v0.3.2162
)
A Note on Windows Artifacts
The next release will stop including .gz
artifacts for Windows.
These are harder to use than the .zip
ones, which should be used instead.
New Features
#18294
(first contribution) supportOption
in "Wrap/Unwrap return type".#18362
,#18370
(first contribution) support "Go to definition" on range operators and patterns.#18359
(first contribution) add option to not start the server on initialization.#18264
implement mixed-site hygiene.#18404
,#18408
implement pull model for diagnostics.#18349
render aliased type documentation when alias doesn't have any.#18418
splitmacro-error
diagnostic so users can ignore parts of it.
Fixes
#18407
(first contribution) fix formatting on welcome page.#18376
add text edits to more inlay hints.#18361
fix token downmapping failing forinclude!
inputs.#18254
nail destructuring assignment down once and for all.#18337
don't show private items from modules nested in blocks in completions.#18360
improve completions for extern blocks.#18371
fix parsing of use bounds.#18388
Fix checking forfalse
labelDetailsSupport
value.#18395
add missingtarget_has_atomic
andtarget_has_atomic_load_store
cfg
flags.#18390
prevent public re-exports of private items.#18417
correctly handle#""
before the 2024 edition.#18419
put leading|
in patterns underOrPat
.#18415
mark "Removedbg!
" as a quick fix for better prioritization.#18366
fix Markdown display in status bar message.#18399
respect config to disable native diagnostics.#18386
don't crash when local time offset is unavailable.
Internal Improvements
#18372
(first contribution) switch CI from bors to merge queues.#18373
merge separate inlay hints targeting the same range.#18391
log original syntax on panic.#18394
,#18396
pretty-printConfig
in "Status" command.#18402
improve proc macro error message for failed build scripts.#18410
invert token iteration order in macro mapping.#17954
updaterustc-hash
to version 2.#18392
swap query call order infile_item_tree_query
to help with caching issue.#18409
only construct a resolver during macro descension when needed.#18368
add test for LSIF macro-generated constants.#18405
update changelog generation for merge queues.
See also the changelog post.
2024-10-21
Commit: 9323b53
Release: 2024-10-21
(v0.3.2154
)
New Features
#18152
highlight exit points ofasync
blocks.#18291
respectreferences.excludeTests
in Call Hierarchy.#18350
,#18354
add initial support forsafe
inextern
blocks.#18292
support renamingself
parameters in functions.
Fixes
#18265
,#18320
(first contribution) add support for LLDB-DAP.#18226
(first contribution) fix parsing ofuse
in generic parameters.#18229
(first contribution) makerustfmt.overrideCommand
relative to project, not workspace root.#18336
(first contribution) increase macro expansion token limit once more.#18278
do not consider matching of places that evaluate to!
to diverge, and disallow coercions from them.#18217
stop doing cast checks for unknown pointer kinds.#18252
do not consider mutable usage ofderef
to*mut T
asderef_mut
.#18299
fixOk
wrapping quick fix for return statements.#18275
don't expand#[test_case]
.
Internal Improvements
#18242
don't resolve extern crates in import fixed point resolution.#18216
return structs instead of tuples fromOpQueues
.#18331
support more trivial types inis_sized
check.#17990
use local time when formatting logs.#18243
,#18300
clamp LSP columns to line length.#18328
fix runninganalysis-stats
against the standard libraries on CI.#18335
fix.editorconfig
glob.
See also the changelog post.
2024-10-14
Commit: d7628c0
Release: 2024-10-14
(v0.3.2146
)
Fixes
#18246
fix crash inprettify_macro_expansion()
when the node isn't the whole file.#18245
fix detail label in completions.#18247
fixsomething_to_resolve
sometimes being reset incompletion_item
#18269
display constructor types in a nicer way.#18289
fix panic on JSON projects with relative buildfile paths.
Internal Improvements
#18266
use macos-13 runners and bumpMACOSX_DEPLOYMENT_TARGET
to13.0
.#18281
stop usingspawnSync
in the VS Code extension.
See also the changelog post.
2024-10-07
Commit: 2b750da
Release: 2024-10-07
(v0.3.2137
)
New Features
#18085
provide an option (rust-analyzer.cfg.setTest
) to not setcfg(test)
.
Fixes
#18207
(first contribution) suggest UpperCamelCase instead of CamelCase to matchrustc
.#18210
fix resolution of labels inside macro calls.#18206
handle block expressions as modules when finding their parents.#18219
fix incorrect bootstrap error message.#18255
use external stack in borrow check DFS.
Internal Improvements
#18167
send less data for completions, if possible.#18234
filter out opaque tokens when descending into macros for some IDE features.#18195
removeDefault
from OpQueue.#18227
add JSONtracing
Layer
for profiling start-up.
See also the changelog post.
2024-09-30
Commit: 822644d
Release: 2024-09-30
(v0.3.2129
)
New Features
#17923
(first contribution) add option to rebuild project before restarting debugging.#18180
index workspace symbols at start-up rather than on the first search.
Fixes
#18160
fix name resolution with renamed imports and shadowing.#18164
handle import aliases inremove_unused_imports
.#18161
improve reference handling in consuming postfix completions.#18172
support#[expect]
in attribute completion and hover.#18162
report lifetime GATs as object-unsafe.#18123
disambiguate package names in flycheck.#18166
fix a bug in span map merging.#18184
pass--all-targets
for build scripts in more CLI commands.#18193
don't report start-up error when a workspace discovery command is configured.
Internal Improvements
#18205
(first contribution) rename object-safety todyn
-compatibility.#18196
addSyntaxFactory
to simplify generating nodes with syntax mappings.#18181
addtracing
to project discovery and VFS loading.#18192
includerust-project.json
build files in VFS.#18157
respect--disable-proc-macros
inanalysis-stats
.#18208
allow overriding proc macro server inanalysis-stats
.#18188
bump MSRV to 1.81.#18175
dropCOMPLETION_MARKER
Easter egg.
See also the changelog post.
2024-09-23
Commit: 1301e42
Release: 2024-09-23
(v0.3.2121
)
Note
Because of infrastructure issues, this release is not available on GitHub Releases.
New Features
#18135
add diagnostics forunsafe_op_in_unsafe_fn
.#18131
replace$crate
in user-visible macro expansions.#18151
support${concat(...)}
metavariable expressions.#18137
supportexpr_2021
fragment specifiers.
Fixes
#18136
(first contribution) don't lint names of#[no_mangle]
extern functions.#18128
don't show lints and quick fixes in code generated by external macros.#18117
always cache macro expansion root nodes inSemantics
.#18139
extendtype_variable_table
when index is larger than the table size.#18146
remove check that text ofparse_expr_from_str()
matches the produced parsed tree.#18153
account for rawness in$expr
fragments.#18108
take#[cfg_attr]
into account for lint attributes.#18132
don't complete;
in closure return expressions.
Internal Improvements
#18134
extendSourceChangeBuilder
to make make working withSyntaxEditor
easier.#18169
temporarily disable GitHub releases.
See also the changelog post.
2024-09-16
Commit: 94b526f
Release: 2024-09-16
(v0.3.2112
)
New Features
#18038
generate names for tuple struct fields in "Fill match arms".#18018
automatically add semicolon when completing unit-returning function call.
Fixes
#18052
(first contribution) don't output hex when inlining integer constants.#18041
improve name suggestions for variables extracted from function calls.#18075
render patterns when hovering on function parameters.#18093
skip diagnostics when casting todyn Trait
.#18092
correctly escape strings instringify!
.#18101
fix false positive error when casting literals.#18106
don't report typed hole error inasm!
out
operands.#18073
fix "immutable tree" ingenerate_delegate_trait
.#18119
fix printing of constants greater thani128::MAX
.#18099
improve handling of lint attributes.#18050
offerreplace_qualified_name_with_use
on the first segment of a path.#18107
don't emit empty inlay hint parts.#18105
don't panic on invalid LSP notifications from buggy clients.
Internal Improvements
#18032
add preliminarySyntaxEditor
functionality.#18057
improve testing infra forrust-analyzer.toml
.#18080
remove crate graph deduplication logic.#17904
add CLI command to report unresolved references.
See also the changelog post.
2024-09-09
Commit: 08c7bbc
Release: 2024-09-09
(v0.3.2104
)
New Features
#17984
implement cast typecheck and diagnostics.#18022
,#18053
add IDE support forasm!
expressions.
Fixes
#18031
suggest name in pattern completion.#18016
use existing type aliases in "Wrap return type inResult
".#18028
prevent lifetime hint panic in non-generic definitions.#18045
keep loop blocks during lowering.#18068
setTraitRef
self types explicitly during lowering.#18067
prevent MIR building when unknown types are present.#18059
don't clobber discovered projects when updating settings.
Internal Improvements
#18026
tweak completion scoring.#18044
add edition-dependent keyword highlighting tests.#18065
catch panics from diagnostics computation.#18066
don't panic LSP writer thread when the receiver gets dropped.
See also the changelog post.
2024-09-02
Commit: 779d9ee
Release: 2024-09-02
(v0.3.2096
)
New Features
#17814
,#17999
implement object-safety and add it to hover.#17940
,#17941
implement "Convert closure to function" assist.#17757
implement "Toggle macro delimiters" assist.#17985
implement "Add explicit enum discriminants" assist.#18006
add an option to hide deprecated items from completion.#18010
support function types in lifetime elision hints.
Fixes
#17972
revert "#17936 implementmodule_path!
".#17994
fixTokenStream::to_string
implementation dropping quotation marks.#17987
fix resolution of shadowed built-in macros.#17963
show error lifetime arguments as'_
.#17737
sprinkle some sugar on asyncimpl Trait
completions.#17970
fix "Unwrap block" for blocks with modifiers.#17991
don't add unnecessary reference in "Extract variable".#17973
expand proc macros in workspace, not package root.#17993
keep field attributes when converting between tuples and named structs.#17982
consider indentation in "Generate impl" and "Generate trait impl".#18015
handle attributes in "Flip comma".#18003
do not report missing unsafe onaddr_of!(EXTERN_OR_MUT_STATIC)
.#18005
don't suggestfor
loops inimpl T for A
in function bodies.#17962
update return type syntax to match compiler.#17988
fix incorrect symbol definitions in SCIP output.
Internal Improvements
#17975
,#18009
(first contribution) do not assumerustup
is installed inxtask codegen
.#18008
,#18012
make inlay hint resolution more reliable.#17945
recategorize config classes.#17967
prepare for stand-alone MBE tests.#17992
avoid newlines in worspace fetch errors.#18011
add some doc-comments toOpQueue
.#17974
drop Apache license appendices.
See also the changelog post.
2024-08-27
Auto merge of #17972 - rust-lang:revert-17936-module_path, r=Veykril Revert "feat: Implement `module_path` macro" Reverts rust-lang/rust-analyzer#17936 Fixes https://github.com/rust-lang/rust-analyzer/issues/17968