Releases: rust-lang/rust-analyzer
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
2024-08-26
Commit: 7106cd3
Release: 2024-08-26
(v0.3.2086
)
New Features
#17936
implementmodule_path!
.#17857
allow declaringcfg
groups inrust-project.json
.#17927
,#17955
speed up search for short associated functions.
Fixes
#17942
implement floating point casts in const eval.#17958
ConsiderDeref
impls in trait method completions.#17960
useextra_test_bin_args
in Test Explorer runner.#17925
include generics when loweringextern type
.#17928
keep comments in "Convertwhile
toloop
".#17924
fix panic when a TAIT exists in a RPIT.#17932
fix semantic highlighting panics during start-up.#17939
,#17948
improve handling ofSized
predicates.#17943
improve proc macro panic message and workspace loading failure diagnostic.#17912
,#17946
run flycheck without reverse dependencies when target is specified.#17949
watch build files fromrust-project.json
.#17956
keep original error when retryingcargo metadata
with--no-deps
.#17913
add workspace-level config torust-analyzer.toml
.
Internal Improvements
#17888
removeinvocationLocation
in favor ofinvocationStrategy
.#17886
wait for cache priming before reporting that the server is ready.#17898
improve macro token mapping heuristics.#17961
don't allocate autoderef steps when not needed.#17930
remove the ability to configure the user config path.
See also the changelog post.
2024-08-19
Commit: fa00326
Release: 2024-08-19
(v0.3.2078
)
New Features
#17845
implement TAIT and fix ATPIT.#17853
supportmin_exhaustive_patterns
.#17595
implement lifetime inference.#17915
make rust-analyzer partially work while offline.
Fixes
#17833
(first contribution) reuse recursion limit as expansion depth limit.#17900
(first contribution) add option to exclude vendored libraries from SCIP/LSIF output.#17864
build and run build scripts for LSIF.#17859
support#[rustc_deprecated_safe_2024]
.#17905
properly account for editions in names.#17863
resolve included files to their calling modules in IDE layer.#17865
emit non-exhaustive let diagnostics for async and unsafe blocks.#17882
fix panic while canonicalizing erroneous projection type.#17893
fix panic on associated functions with type annotations.#17916
fix panic while loweringimpl Trait
parameter of parent generics.#17867
handle trailing excess comma in "Convert to named struct".
Internal Improvements
#17903
(first contribution) don't kill the flycheck process command group.#17908
test for word boundary inFindUsages
.#17842
,#17843
optimize channel usage.#17850
send back empty responses while the VFS is still loading.#17876
remove unreachable logic for include token mapping.#17896
check the edition for edition-dependent syntax kinds.#17891
be more resilient to bad language item definitions in binary operator inference.#17907
replaceonce_cell
with thestd
types.#17862
fix auto-publishing workflow.#17909
removerust-analyzer.workspace.discoverProjectRunner
.
See also the changelog post.