Releases: rust-lang/rust-analyzer
2023-08-28
Changelog #196
Commit: 144526c
Release: 2023-08-28
(v0.3.1641
)
New Features
#15374
(first contribution) implement extern crate completion.
Fixes
#15512
updateoffset
intrinsic to match 1.72.#15517
fix unknown label diagnostics forwhile let
loop with label in condition.
Internal Improvements
#15385
(first contribution) pass target inproc-macro-test
to fix cross-compilation on Darwin hosts.#15490
fix help text forrust-analyzer.check.invocation{Strategy,Location}
.#15503
report the rust-analyzer version in the SCPI metadata.#15494
sync from downstream.#15523
useRUSTC_BOOTSTRAP
when runninganalysis-stats
on the standard library.#15495
unpinserde
.
See also the changelog post.
2023-08-21
Changelog #195
Commit: 83b3ba1
Release: 2023-08-21
(v0.3.1631
)
New Features
Fixes
#15463
show generic constant defaults in hover.#15473
honor#[doc(hidden)]
in auto-import and completions.#15383
suggest type completions for type arguments and constant completions for constant arguments.#15418
fix signature help of methods generated by macros.#15410
rewrite De Morgan's assist to avoid string manipulation.#15179
substitute default values of const params in "Add missing members".#15420
increase the buffer size for the discover project command.
Internal Improvements
#15466
add offset param to tokendescend
API.#15472
record import origins inItemScope
andPerNs
.#15426
,#15429
,#15434
de-unwrap
convert_to_guarded_return
,generate_delegate_methods
andgenerate_derive
.#15461
always collect memory usage info inanalysis-stats
.#15482
pinserde
to the last non-blobby release.
See also the changelog post.
2023-08-14
Changelog #194
Commit: 2fbe69d
Release: 2023-08-14
(v0.3.1623
)
New Features
#15262
(first contribution) addrust-analyzer.check.ignore
setting to ignore specificcheck
diagnostics.
Fixes
#15350
handle#[cfg]
s on generic parameters.#15405
support doc links that resolve to fields.#15416
correctly display fully-qualified associated types correctly.#15419
add MIR lowering support for tuple destructing assignment.#15415
fix float parser hack creating emptyNameRef
tokens.#15250
don't use control flow when keeping the tail expression of the original function.#15445
fixonly_types
config filtering out traits from world symbols.#15438
fix parser getting stuck in eager macro inputs.
Internal Improvements
#15217
(first contribution) convertunwrap
toexpect
inlsp-server
and add a debug log.#15422
record import source IDs.#15435
derive block attributes from block item tree.#15436
preserveresolve_obligations_as_possible
allocation across calls.#15423
,#15433
de-unwrap
convert_named_struct_to_tuple_struct
andremove_unused_imports
.#15417
useCast::cast()
instead of explicit interning.#15428
fix pinned version oflsp-types
.#15421
add more error context when failing to invoke the Rust toolchain.
See also the changelog post.
2023-08-07
Changelog #193
Commit: baee6b3
Release: 2023-08-07
(v0.3.1615
)
New Features
-
#14723
(first contribution) add "Remove unused imports" assist:remove-unused-imports.mp4
Fixes
#15361
expand eager macros to delimited comma-separated expression list.#15366
remove faulty unwrap in eager macro expansion.#15367
strip unused token ids from eager macro input token maps.#15380
fix unsized struct problems in MIR eval.#15348
exclude non-identifier aliases from completions.#15050
skip#[doc(hidden)]
methods in "Implement default members" and "Convert+#[derive]+
to manual impl".#15376
make "Convertmatch
tomatches!
" assist trigger on non-literal bool arms.#15345
don't provideadd_missing_match_arms
assist when up-mapping match arm list failed.#15397
remove unwraps from "Generate delegate trait".#15406
don't providegenerate_default_from_new
when impl self type is missing.#15391
set the default status bar button action to "Open logs".#15392
use the warning color when server is stopped.
Internal Improvements
#15373
(first contribution) desugarwhile
toloop
andbreak
.#15390
improve MIR interpreter performance by caching.#15269
defer structured snippet rendering to allow escaping snippet bits.#15377
record extern crate declarations in the HIR.#15401
turn unresolved proc macro expansions into missing expressions.#15378
renameImport
toUse
inhir-def
, add unused placeholder variants forUseId
.#15393
qualify parameters by the containing function in SCIP.#15358
add triagebotno-merges
config.
See also the changelog post.
2023-07-31
Changelog #192
Commit: 429a381
Release: 2023-07-31
(v0.3.1607
)
New Features
#15308
add platform-specific runnable environment variables.
Fixes
#15356
fix badunwrap
ineager_macro_recur
.#15357
do not create function-like macro calls with non-fn expanders.#15271
properly infer types with type casts.#15360
fix up path fragments upon MBE transcription.#15353
add manual implementation of clone for tuples in MIR interpreter and fence intrinsics.#15363
supportSelf
without field in MIR lowering.#15349
show anonymousFnDef
types as function pointers.#15359
include proc macro server spawn errors in the status text.
See also the changelog post.
2023-07-24
Changelog #191
Commit: 99718d0
Release: 2023-07-24
(v0.3.1599
)
New Features
#15303
fix highlighting of byte escape sequences.
Fixes
#15277
(first contribution) limitchange_visibility
assist to top-level items.#15312
don't follow raw pointer derefs when considering method receiver candidates.#15317
look up supertraits inis_dyn_method
.#15320
reportincorrect-ident-case
for inner items.#15325
normalize expected type in call arguments.
Internal Improvements
#15290
(first contribution) use notification command links for debugger installation.#15313
(first contribution) add configuration example for Kate.#15301
support reading uncompressed proc macro metadata.#15287
removecrate
visibility modifier.#15316
passTraitEnvironment
intolayout_ty
andconst_eval
.#15323
optimizeDepKindInfo
toDepKind
conversion.#15304
use.kind(Interner)
instead of.data(Interner).kind
.#15281
break down VS Code extension CI steps to make them clearer.
See also the changelog post.
2023-07-17
Changelog #190
Commit: d824511
Release: 2023-07-17
(v0.3.1591
)
Fixes
#15248
fix eager token mapping panics.#15297
normalize type alias inprojected_ty
.#15258
supportgetrandom
syscall in MIR.#15268
addwrite_bytes
andctlz
intrinsics.#15282
addtype_name
intrinsic and give realdiscriminant_type
tochalk
.#15284
addsched_getaffinity
and enablecfg(miri)
in analysis.
Internal Improvements
#15257
(first contribution) ignoreContent-Length
header case inlsp-server
.#15270
(first contribution) make fields ofmir::Terminator
public.#15292
(first contribution) fix typo in command line help.#15295
(first contribution) fixrust-analzyer ssr
help message.#15251
skip building subtrees for built-in derives.#15231
,#15260
migrate more assists to use the structured snippet API.#15263
enablederive
feature forserde
inlsp-server
.#15267
mark MIR execution limit test as slow.#15252
enableuseUnknownInCatchVariables
TypeScript option.#15259
use type imports.#15254
add FIXME forexactOptionalPropertyTypes
.#15264
,#15265
bump npm dependencies.#15266
set.editorconfig
default indent size to4
.#15275
default to stable toolchain in the metrics workflow.
See also the changelog post.
2023-07-10
Changelog #189
Commit: ff15634
Release: 2023-07-10
(v0.3.1583
)
New Features
-
#15081
(first contribution) add a memory layout viewer: -
#15152
addGenerate trait from impl
assist: -
#14990
map our diagnostics to therustc
andclippy
ones. -
#15186
don't add panics to error jump list by default.
Fixes
#15118
(first contribution) follow raw pointers in autoderef chain when resolving methods with custom receiver.#15235
(first contribution) don't insert semicolon when extractingmatch
arm.#15226
makeExpand glob import
work on enum imports.#15211
support GATs in bounds for associated types.#15223
don't showunresolved-field
diagnostic for missing names.#15216
don't mark braces aroundself
imports as unnecessary.#15212
recover from missing associated items and generic const defaults.#15245
fix missing terminator in pattern matching of consts.#15222
fixsize_of_val
and supportmin_align_of_val
intrinsic.#15244
supportread_via_copy
intrinsic.#15228
implement recursion in MIR interpreter without recursion.#15230
useDebug
impl for const eval result rendering.#15227
indent after pressing enter on a blank line.
Internal Improvements
#15202
don't diagnose built-in derives.#15204
add analysis-stats flag to trigger some IDE features.#15149
speed up line index calculation via SSE2.#15219
unify Generate getter and setter assists.#15205
split out project loading capabilities from therust-analyzer
crate.#15203
shuffle someproc_macro_expand
query things around.#15209
use stronger typing forAstId
andAstIdMap
.#15181
clean upImportMap
.#15210
removeCfgExpander
.#15206
formatlet
-else
.#15224
replacex
withit
.#15160
enablenoUncheckedIndexedAccess
andnoPropertyAccessFromIndexSignature
TypeScript options.#15234
remind user to checkPATH
after installation.
See also the changelog post.
2023-07-03
Changelog #188
Commit: ff485b6
Release: 2023-07-03
(v0.3.1575
)
New Features
#15136
(first contribution) drop matching brace key binding.#15185
bumpchalk
.#15151
update VS Code extension dependencies and require 1.78.
Fixes
#15148
fixself
andsuper
path resolution in block modules.#15157
fix runnable detection for#[tokio::test]
.#15173
fix data layout of reference to nested unsized structs.#15184
disable MIR interpreter for targets with different pointer size from host.#15168
fix MIRrealloc
allocating a smaller destination.#15189
fix overflow checking in shift operator.#15194
fix layout of SIMD types and respect alignment in MIR interpreter.#15101
,#15177
,#15180
check clientworkspace.workspaceEdit.resourceOperations
capability.#15138
renamerunnableEnv
torunnables.extraEnv
.
Internal Improvements
#15030
,#15163
(first contribution) run metrics on parallel.#15172
support#[derive_const(Trait)]
.#15140
add comment explaining whyHasSource::source()
returnsOption
.#15161
addlibrary
fixture meta.#15175
dropcross-env
npm dep.#15174
switch to@vscode/vsce
.#15153
clean up Code extensionactivationEvents
.#15154
use@tsconfig/strictest
for type checking rules.#15159
enablenoImplicitOverride
.#15169
use anonymous lifetime where possible.#15142
rename crates after removing libs from workspace.#15195
don't specifyproc-macro-test
version.
See also the changelog post.
2023-06-26
Changelog #187
Commit: 4a2ceef
Release: 2023-06-26
(v0.3.1566
)
New Features
Fixes
#15105
(first contribution) fix display of negative integers.#15074
fix inlining of async functions.#15112
support manual implementation ofFn
traits in the MIR interpreter.#15119
support more intrinsics in the MIR interpreter.#15135
fix some unsizing problems in MIR.#15085
include project path in workspace loading errors.#15104
skip mutability diagnostics on synthetic bindings.
Internal Improvements
#15093
useArgumentV1
instead ofArgument
.#15071
,#15089
remove spuriousregex
dependency.#15087
,#15097
,#15100
use consistent style for error handling.#15086
intern use and extern crate items like other items.#15095
change in-tree libs to workspace dependencies and bump versions.#15098
use lib crates from crates.io.#15070
report metric timings for file item trees and crate def map creation.#15110
add run-tests CLI command.
See also the changelog post.