Releases: rust-lang/rust-analyzer
2024-01-22
Changelog #217
Commit: d410d4a
Release: 2024-01-22
(v0.3.1815
)
New Features
#16370
show additional value information when hovering over literals.#16374
,#16375
show implemented notable traits on hover.#16391
add config to allow renaming of non-local definitions.#16372
addOne
import granularity.
Fixes
-
#16349
add error recovery foruse_tree_list
parsing: -
#16385
fix intra-doc links. -
#15868
inferOUT_DIR
when workspace root contains a symlink. -
#16396
fix panic when extracting struct from enum variant. -
#16378
handleSelfParam
better in "Inline call". -
#16405
includefor
in "Convert to guarded return". -
#16314
parsemacro_rules
as macro name. -
#16367
makevalue_ty
query fallible.
Internal Improvements
#15636
,#16383
(first contribution) show which roots are being scanned in progress messages.#16196
(first contribution) renamegenerator
tocoroutine
.#16409
(first contribution) remove some unused code.#16350
speed up line index calculation via NEON for aarch64.#16395
speed up line ending normalization usingmemchr
.#16366
make data queries transparent over their diagnostics variant.#16352
,#16389
portrustfmt
's algorithm for import ordering.#16351
eagerly lower enum variants inCrateDefMap
construction.#16388
recordFnAbi
.#16356
add unstable config for loading the sysroot sources viacargo metadata
.#16380
,#16387
runcargo metadata
on sysroot for CI metrics.#16384
make use of some newSmolStr
improvements.#16397
refactormacro_call
to be consistent with other parsers.#16398
automatically fix Clippy lints.#16401
expand lint tables and make Clippy happy.#16404
work through temporarily allowed Clippy lints, part 1.#16406
addmax_line_length
to.editorconfig
.#16364
,#16412
sync from downstream.
See also the changelog post.
2024-01-15
Changelog #216
Commit: 9d8889c
Release: 2024-01-15
(v0.3.1807
)
New Features
-
#16209
(first contribution) add assist to merge nestedif
s:merge_ifs.mp4
-
#16308
use$crate
for built-in derives.
Fixes
#16265
(first contribution) includepub(crate)
imports in suggestions.#16348
fix nestedinclude!
s resolving from the wrong base file.#16312
fixrust-analyzer-proc-macro-srv
failing to launch on Windows.#16277
fix panic ingenerate_delegate_methods
.#16333
preserve extracted block comments in "Extract function".#16310
fix parsing of method calls on ranges.#16274
consider#[doc(notable_trait)]
for completion relevance.
Internal Improvements
#16307
don't store the VFS contents in memory.#16329
minor perf and memory improvements.#16347
consider all kinds of explicit private imports infind_path
.#16319
differentiate between VFS configuration and file change events.#16275
fixast::Path::segments
implementation.#16334
bumpsalsa
.#16317
sync from downstream.#16271
removesysroot-abi
feature flag fromproc-macro-test
.#16309
recognize proc macro server unexpectedly quitting and report the exit code.#16311
remove therustc_dependencies
crate.#16339
replacesource_root_crates
output hash set with a slice.
See also the changelog post.
2024-01-08
Changelog #215
Commit: af40101
Release: 2024-01-08
(v0.3.1799
)
New Features
-
#16222
(first contribution) addunresolved_assoc_item
diagnostic: -
#16279
support IDE features for tuple fields: -
#15933
resolve inherent and implemented associated items in doc comments: -
#16100
add quick fix for unresolved methods when an associated function with the same name exists: -
#16011
addrust-analyzer.cargo.buildScripts.rebuildOnSave
option to rebuild proc macros on save if they change. -
#16223
add quick fix for "Redundant associated item" diagnostic: -
#16298
add inlay hint for exclusive ranges:
Fixes
-
#16081
(first contribution) keep trailing whitespace in doc comments. -
#16139
(first contribution) give methods a container name. -
#16136
make the expected completion type a tad smarter with function types: -
#16258
,#16261
,#16267
,#16270
rewrite and optimizeImportMap::search_dependencies
. -
#16268
remove result limit for trait-importing method completions. -
#16153
tell user thatlinkedProjects
is set when failing to discover projects. -
#16234
fix focus range in attribute/derive upmapping. -
#16085
fix type inference withIndexMut
returning references. -
#15810
fix panic with macros in "Convert boolean to enum" and "Promot local to constant" assists. -
#16067
make "Introduce named generic" assist work with nested types. -
#16068
pick up new generic names on conflict in "Introduce named generic". -
#16114
fixSelf
type replacement in "Inline function". -
#16199
resolveSelf
in "Extract struct from enum variant". -
#16049
don't complete callable parantheses in struct literals. -
#16241
give a userful error whenrustc
cannot be found in explicit sysroot. -
#16285
fix panic on unaligned#[repr(packed)]
. -
#16062
updaterust-analyzer.cargo.check
documentation references torust-analyzer.check
.
Internal Improvements
#16179
(first contribution) populate new SCIPSymbolInformation
fields.#16213
(first contribution) update dev guide based on the 2024-01-01 release.#16252
(first contribution) switch toexpected.assert_eq
foride
tests.#15922
,#16238
,#16262
(first contribution) update Gentoo installation instructions.#16302
(first contribution) add a basicREADME.md
to theline-index
crate.#16290
reduceVec
cloning in MIR lowering and eval.#16237
reduceArc
allocations inmacro_expand
.#16082
migrate assists to the structured snippet API, part 5.- clean up and enhance readability of
generate_delegate_trait
. #16226
expose whether the channel has been dropped inlsp-server
errors.#16211
use[workspace.lints.clippy]
to configure lints.#16256
only compare relevant parts inide::{runnables, inlay_hints}
tests.#16260
replace single usage ofcheck_expect
withcheck_diagnostics
.#16294
fix some minorclippy::perf
issues.#16248
addproc-macro-test
crate back to the main workspace.#16249
sync from downstream.
See also the changelog post.
2024-01-01
Changelog #214
Commit: 9db5155
Release: 2024-01-01
(v0.3.1791
)
Fixes
#16221
(first contribution) fix panic in some macros due to unhandledSyntaxContextId::SELF_REF
.#16096
(first contribution) update VS Code extension panic problem matcher.#16224
fix handling of hygiene in the presence ofSyntaxContextId::SELF_REF
.
Internal Improvements
#16217
(first contribution) simplify implementation ofapply_document_changes
.
See also the changelog post.
2023-12-25
Changelog #213
Commit: 85fb463
Release: 2023-12-25
(v0.3.1782
)
New Features
#16088
implement a rust-analyzer span-backed proc-macro server mode.
Fixes
#16155
(first contribution) don't assume ASCII inremove_markdown
.#16152
resolve alias before resolving enum variant.#16163
de-duplicate annotations.#16165
update metavariable expression implementation.#16066
,#16185
remove unnecessary braces after with unused imports.#16167
fully remove dummy spans.#16175
correctly set and mark the proc-macro spans.#16178
fix span marking for built-in function-like macros.#16184
fixSemantics
node caching in completion analysis.#16158
desugar doc comments correctly for MBE.#16137
complete exported macros in#[macro_use($0)]
.
Internal Improvements
#16182
update world symbols request definiton, prefer focus range for macros.#16183
clean upExpander
a bit.#16143
move proc macro knowledge out ofbase-db
and intohir-expand
.#16145
split out aspan
crate.#16150
move outWithFixture
into dev-only crate.#16151
add minimal support for the 2024 edition.#16144
sync from downstream.#16149
don't fail changelog generation on missing PRs.
See also the changelog post.
2023-12-18
Changelog #212
Commit: 21b06c1
Release: 2023-12-18
(v0.3.1774
)
Fixes
#15887
(first contribution) fix tuple to named struct conversion inside macro calls some more.#16106
fix syntax bridge assigning invalid spans to lifetime tokens.#16061
fix fragment parser on incomplete parses.#16130
remove subtrees with fake spans in syntax fix-up.#16131
fix false positive type mismatch in const reference patterns.#16094
replacedoc_comments_and_attrs
withcollect_attrs
, second round.#16089
query for nearest parent block around the hint to resolve.
Internal Improvements
#16099
improve import asset performance a bit, bump limit, and shorten the paths.#16125
run rust-analyzer on rustc UI tests in metrics.#16115
update built-in attributes.#16102
,#16104
publish and bumpline-index
.#16123
removeModuleId
fromTypeOwnerId
.#16098
sync from downstream.
See also the changelog post.
2023-12-11
Changelog #211
Commit: 457b966
Release: 2023-12-11
(v0.3.1766
)
New Features
-
#15959
replace TokenMap with an abstraction that matches reality. -
#16027
add support for implicit format args:rename-format-args.mp4
-
#16034
support multiple navigation targets when the focus range is in the macro definition site: -
#15990
diagnose extra trait impl items: -
#15627
prioritize import suggestions based on the expected type:
Fixes
-
#15896
(first contribution) show placeholder while getting runnable list from server: -
#15515
(first contribution) improve handling of binary expressions on the left-hand side of "Flip binary expression". -
#16009
(first contribution) don't search forControlFlow
as string in "Extract function". -
#16028
make drop inlay hints more readable: -
#16024
fix runnables working directory on Windows. -
#16054
fix token downmapping being quadratic. -
#16016
don't insert parantheses around fields in struct literals. -
#16041
fixWideChar
offsets calculation inline-index
. -
#16073
replacedoc_comments_and_attrs
withcollect_attrs
. -
#16035
fix diagnostics panicking when resolving to different files due to macros. -
#16037
don't print proc-macro panic backtraces in the logs. -
#15486
fix item tree loweringpub(self)
topub()
. -
#15705
resolve Self type references in delegate method assist. -
#16048
fixconcat_bytes!
expansion emitting an identifier. -
#16058
reduce spans for unresolved field and method diagnostics. -
#16060
fix completion informat_args!
with invalid template. -
#16078
fix "View Mir", "View Hir" and "Interpret function" when the caret is inside a macro. -
#16039
don't emit missing items diagnostic for negative impls. -
#16045
fix panic with closure inside array length. -
#16055
fall back to method resolution on unresolved field access.
Internal Improvements
#16036
(first contribution) makeParamLoweringMode
accessible.#15986
usetriomphe::Arc::from_iter
.#16042
bumpsalsa
.#16022
don't explicitly warn againstsemicolon_in_expressions_from_macros
.#16038
publishlsp-server 0.7.5
.#16043
bump and unlock some dependencies.
See also the changelog post.
2023-12-04
Changelog #210
Commit: e402c49
Release: 2023-12-04
(v0.3.1756
)
New Features
-
#15879
implement completion for callable fields: -
#16000
initial support for implicit drop inlay hints (rust-analyzer.inlayHints.implicitDrops.enable
):
Fixes
#15961
(first contribution) improve error handling for top-levellet
statements.#15993
(first contribution) use package root as working directory when launching the debugger.#15970
fix variant resolution through for type aliases.#15994
report error on comma after base struct functional update syntax.#15857
fix spacing after using "Remove redundant parentheses".#15971
don't report missing match arms for emptymatch
body.
Internal Improvements
#15946
(first contribution) simplify workspace de-duplication.#15985
bumptriomphe
.#15912
remove unusedPhantomData
.
See also the changelog post.
2023-11-27
Changelog #209
Commit: 237712f
Release: 2023-11-27
(v0.3.1748
)
New Features
-
#15956
,#15962
(first contribution) improve completion label details display: -
#15846
(first contribution) add VS Code option to suppress internal error notifications.
Fixes
#15940
ensure renames happen after edits.#15911
handle default constant values intrait_impl_missing_assoc_item
diagnostic.#15825
better resolve associated item with type bound.#15754
de-dup duplicate crates with differing origins inCrateGraph
construction.
Internal Improvements
#15894
(first contribution) make LSP initialization cancellable.#15944
(first contribution) update Arch Linux package URL.#15921
usePathSegment::qualifying_trait
.#15960
replaceoption.map(cond) == Some(true)
withoption.is_some_and(cond)
.#15967
switch to our ownsalsa
fork.
See also the changelog post.
2023-11-20
Changelog #208
Commit: 255eed4
Release: 2023-11-20
(v0.3.1740
)
New Features
-
#15891
diagnose some orphan trait impl cases: -
#15895
diagnose missing associated items in trait impls: -
#15893
diagnose incorrect unsafety for trait impls:
Fixes
Internal Improvements
#15875
fixPathSegment
grammar.#15899
,#15917
sync from downstream.#15874
migrate assists to the structured snippet API, part 4.#15925
remove debugging code in path resolution.#15902
,#15913
bump some deps.#15830
VS Code: expose workspaces to other extensions, removeaddProject
command.#15900
disable VSIX builds forwin32-ia32
, which VS Code no longer supports.#15904
bump minimum supported VS Code to 1.78.
See also the changelog post.