Releases: rust-lang/rust-analyzer
2024-04-15
Changelog #229
Commit: 5dbe3fe
Release: 2024-04-15
(v0.3.1924
)
Fixes
#17019
don't confuse paths with source roots sharing the same prefix.#17063
fix inlay hint resolution.#17056
runcargo test
per workspace in the test explorer.#17054
revert "fix: postfix snippet completion source range".#17051
auto-close triple backticks.
Internal Improvements
#17034
(first contribution) document enabling the Flatpak Rust SDK extension.#17033
log flycheck errors.#17062
temporarily disable unlinked file popup.#16450
,#17065
prepare parser interface for editions.#17059
make function builder create AST directly.#17030
bumpchalk
.#17035
run Windows tests on PRs too.
See also the changelog post.
2024-04-08
Changelog #228
Commit: 7a8374c
Release: 2024-04-08
(v0.3.1916
)
New Features
#16924
,#16988
addrust-analyzer.cargo.allTargets
to configure passing--all-targets
tocargo
invocations.
Fixes
#17000
(first contribution) set the right postfix snippet completion source range.#16968
silence type mismatches involving unresolved projections.#16997
fixpatch_cfg_if
not applying with stitched sysroot.#17006
fix somecfg
censoring bugs.#17003
fix off-by-one in LSP offset conversion.#16961
fix crate IDs when multiple workspaces are loaded.#16970
fix tasks intasks.json
.#17016
apply cargo flags in test explorer.#17014
consider#[exported_name=main]
functions in test modules as tests.
Internal Improvements
#16996
lowerOutlives
goals and respect them in display impls.#17002
consider ADT generic parameter defaults for unsubstituted layout calculations.#16979
use contiguous indices for enum variants in pattern analysis.#17023
slight clean-ups and perf improvements.#16920
fix new nightly Clippy lints.#16986
add client information to bug report template.
See also the changelog post.
2024-04-01
Changelog #227
Commit: e4a405f
Release: 2024-04-01
(v0.3.1906
)
New Features
#16805
,#16960
,#16967
implement lifetime lowering and resolution.#16906
add struct hover field display limit (rust-analyzer.hover.show.structFields
).
Fixes
#16964
revert debug extension priorities.#16965
use LLDB when debugging with C++ extension on MacOS.#16957
check for client relative glob pattern support before using them.#16971
resolve tests per file instead of crate in test explorer.#16975
prompt the user to reload the window when enabling test explorer.
Internal Improvements
#16944
revert to the crates.io version ofrustc_pattern_analysis
.#16930
support choosing the allocator inxtask dist
.
See also the changelog post.
2024-03-25
Changelog #226
Commit: 6f6b03f
Release: 2024-03-25
(v0.3.1896
)
New Features
Fixes
#16915
(first contribution) fix stack overflow on recursive const types.#16913
make file watching work on Windows and improve subsequent change detection.#16935
handle CTFE panicking likerustc
.#16830
fix panic onimpl Trait
associated types inwhere
clauses.#16905
,#16927
renameProcMacroKind::FuncLike
toBang
.#16919
handleself::super
in paths.#16880
use--workspace
and--no-fail-fast
in test explorer.#16868
handle attributes when auto-closing left braces.#16822
improve resolution for inlay hints targetting the same position.#16871
,#16886
skip problematic cyclic dev-dependencies.#16885
improve parser recovery for match arms.#16812
fix "Go to implementation" for impls inside blocks.#16909
keep theAttr::Literal
spans.#16911
fix hang on projects depending onrustc_private
.
Internal Improvements
#16835
share token trees between derive attributes and their proc macros.#16879
add fuel to match checking.#16895
resolve whether$pat
is$pat_param
or not using hygiene.#16839
support arbitrary shell command runnables.#16884
move grammar codegen intoxtask
.#16889
,#16899
,#16918
enforce UTF-8 paths.#16892
don't try to read root crate file contents before VFS.#16912
removeSpan
trait.#16863
bumprustc
dependencies and use in-treerustc_pattern_analysis
.#16928
buildx86_64-unknown-linux-gnu
releases on Rocky Linux 8 (GLIBC 2.28).#16904
bumprust-cache
action.#16929
bump release actions and Node version.
See also the changelog post.
2024-03-18
Changelog #225
Commit: b6d1887
Release: 2024-03-18
(v0.3.1885
)
Announcement
Today's release switches to Ubuntu 20.04 for building the official binaries, bringing the minimum supported GLIBC version to 2.31.
Upgrading was forced by GitHub Actions moving form Node.js 16 to 20.
See #16793
for more information.
Affected distributions include Debian 10, Ubuntu 18.04, Enterprise Linux 7 and 8, and Amazon Linux 2.
For now, the alternatives are building from source, or using the rust-analyzer
toolchain component.
New Features
#16789
apply#[cfg]
to proc macro inputs.#16834
support macro calls in eager macros for IDE features.#16808
add proc macro semantic token type.
Fixes
#16762
(first contribution) add quick fix for "undersolved field" diagnostic.#16810
add fix for "unused variable" diagnostic.#16856
fixwhere
clause rendering on hover.#16846
fix panic and incorrect handling ofuse
inextract_module
.#16861
ignore some warnings if they originate from macro expansions.#16845
show compilation progress in test explorer.#16847
distinguish integration tests from crates in test explorer.#16820
don't auto-close block comments in strings.
Internal Improvements
#16819
improve rooted upmapping.#16832
shrinkMacroCallLoc
.#16841
use associated items as anchors for spans.#16842
make proc macro definition site spans more resistant to invalidation.#16844
replaceSpan
withSyntaxContextId
inMacroCallLoc
.#16771
don't desugarself
parameter into a pattern.#16335
compress file text using LZ4.#16473
stop eagerly resolving inlay hint text edits for VS Code.#16749
,#16811
some method resolution clean-ups.#16862
remove redundantclone
s#16784
removesynstructure
const hack support.#16851
buildlinux-gnu
releases on Ubuntu 20.04.
See also the changelog post.
2024-03-11
Changelog #224
Commit: 574e23e
Release: 2024-03-11
(v0.3.1877
)
New Features
#16662
,#16773
,#16794
add test explorer (disabled by default, enable usingrust-analyzer.testExplorer
).#15938
,#16756
add hover display for trait assoc items
Fixes
#16723
(first contribution) complete constants inside format strings.#16769
fix argument type inference with associated typeimpl Trait
.#16757
disable style lints by default (rust-analyzer.diagnostics.styleLints.enable
).#16759
fix "Go to definition" for constants inside range patterns.#16778
bumprustc_pattern_analysis
to fix a panic on mismatched types.#16770
fix panic on float numbers without dots in chain calls (x.1e0
).#16779
skip match diagnostics for partially unknown types.#16690
use four-space indentation in macro expansion.#16752
don't allow destructuring of structs with no public fields.#16766
keep attributes in "Generate delegate trait" assist.#16775
remove accidental dependency betweenparse_macro_expansion
andparse
.#16776
makeSpanMap
accesses lazy to avoid asalsa
dependency.#16777
don't invalid body query results when generating desugared names.#16781
,#16782
don't escape\
and$
in "Extract format expression".#16719
add basic support for the VS Code Native Debug extension.
Internal Improvements
#16722
(first contribution) avoid some allocations.#16748
compute syntax validation errors on demand.#16755
usePATH
For toolchain binaries.#16785
,#16786
,#16787
simplify the parser code somewhat.#16742
add parent-child relationship betweenSourceRoot
s.#16703
add more methods for resolving AST definitions to their corresponding HIR types.#16763
addindex
andparent_fn
accessors tohir::Param
.#16772
addtracing
spans tosalsa
databases.#16708
,#16751
move assist, diagnostics docs and lint definition generation intoxtask codegen
.#16747
various clean-ups.#16758
bump dependencies.
See also the changelog post.
2024-03-04
Changelog #223
Commit: 037924c
Release: 2024-03-04
(v0.3.1868
)
New Features
#16638
(first contribution) adddestructure_struct_binding
assist.#16651
addfill_record_pattern_fields
assist.#16687
support tuples in term search.#16555
,#16692
speed up completions by considering coherence.
Fixes
#16630
fix type inference of closures with predicates.#16679
resolve modules in blocks in theide
layer.#16647
fix false positive fordyn Trait
inreplace_filter_map_next_with_find_map
.#16678
fix panic when inlining callsites inside macro parameters.#16684
don't panic on synthetic syntax in inference diagnostics.#16691
fix completions panicking with certain macro setups.#16693
prefer sysrootrustc
inrust-project.json
projects.#16696
,#16709
handlederef_mut
andindex_mut
in index expressions.#16727
don't highlight related associated items of supertraits.#16702
ignore generic arguments in intra-doc link path resolution.#16665
prioritizerustup
sysroots over system ones.#16695
revert doc-comment highlighting.
Internal Improvements
#16670
(first contribution) document NeoVim inlay hint configuration.#16673
(first contribution) narrow downtypos
ignore list.#16706
dropload-cargo
dependency on ide.#16738
bumprustc_pattern_analysis
.#16627
add repository URL and code sample sections to the bug report template.#16669
mergeBorrowKind::Unique
intoBorrowKind::Mut
.#16697
addRelPath::to_path_buf()
method.#16698
derivePartialEq
,Eq
andHash
forhir::Param
.#16705
add public function for resolving callable AST expressions to their HIR equivalents.#16707
exportSemanticsImpl
fromhir
.#16680
removesalsa
compile-fail tests.
See also the changelog post.
2024-02-26
Changelog #222
Commit: 5346002
Release: 2024-02-26
(v0.3.1860
)
New Features
#16489
(first contribution) create alias when renaming an import.#16589
addunresolved-ident
diagnostic.#16303
addnon-exhaustive-let
diagnostic.#16475
support multiple tab stops for edits in VSCode.
Fixes
#16358
(first contribution) de-duplicate references from macro expansions.#16621
(first contribution) avoid settingRUSTC_BOOTSTRAP
for build scripts, to prevent spurious recompiles.#16590
fixremove-unnecessary-else
false positives onif
expressions.#16616
try to fix potential server hang with build scripts.#16645
fix deadlock betweenrecreate_crate_graph
andfile_line_index
.#16618
don't escape{
in assists.#16637
account for string delimiters correctly in proc macro server.#16606
render associated item owner in hover for items other than functions.
Internal Improvements
#16654
(first contribution) add-V
shorthand for--version
.#16643
,#16652
reducesalsa
memory usage.#16612
fetch toolchain and data layout for detached files.#13112
set up handling of auto trait bounds, but leave it disabled due to performance problems.#16617
attempt to add a timeout torustc_tests
.#16648
pinrustc-tests
commit.#16649
,#16650
disablerustc-tests
metrics.#16601
check out repository before runningtypos
.#16646
remove some repeated words.#16668
sync from downstream.
See also the changelog post.
2024-02-19
Changelog #221
Commit: 68c506f
Release: 2024-02-19
(v0.3.1850
)
New Features
#16092
(first contribution) introduce term search torust-analyzer
.#16117
(first contribution) prioritize constructors and builders in completions.#15923
improve support for ignored proc macros.#15476
substitute$saved_file
in customcheck
commands.
Fixes
#16550
(first contribution) activate on top levelCargo.toml
andrust-project.json
files.#16530
fix macro transcriber emitting incorrect lifetime tokens.#16541
highlight doc comments.#16547
validate literals in proc macro server'sFreeFunctions::literal_from_str
.#16544
only complete traits inimpl ... for
.#16553
improve parser error recovery on=
in record field initializer and patterns.#16554
pass.cargo/config.toml
environment variables to proc-macro server.#16563
setRUSTUP_TOOLCHAIN
and invoke the proxies instead of sysroot binaries.#16247
fix build scripts not being rebuilt on some occasions.#16574
fixneedless_return
false positives on trailing inner item declarations.#16582
respect textual length of paths infind_path
.#16583
ignore type mismatches between{unknown}
and non-{unknown}
types.#16586
remove cargo knowledge fromCrateData
.#16569
place snippets correctly in multi-edit assists.#16579
fix snippets being placed leftwards of where they should be.#16559
fill in SCIP documentation fields.
Internal Improvements
#16588
(first contribution) parse (nightly)const
andasync
trait bounds.#16587
(first contribution) update GitHub actions and Node version.#16576
(first contribution) add license files tolsp-server
.#15003
add basic support forbecome
expressions (tail calls).#16577
migrate assists to the structured snippet API, part 7 of 7.#16446
implementliteral_from_str
in proc macro server.#16537
,#16545
make tool discovery prefer sysroot paths.#16540
makemacro_arg
query always returns aTokenTree
.#16560
set channel override when querying the sysroot metadata.#16558
updateJsonProject
to include optional fields.#16562
addclippy
andrustfmt
problem matchers to CI.#16573
removesalsa
compile tests.#16533
bumprustc_pattern_analysis
.#16585
bumpactions/checkout
tov4
.#16598
,#16599
,#16600
downgradeactions/checkout
,actions/setup-node
and Node in release workflow.#16597
sync from downstream.
See also the changelog post.
2024-02-12
Changelog #220
Commit: c06ca6c
Release: 2024-02-12
(v0.3.1839
)
New Features
#16510
add option to only runcargo check
on the current package.#16502
add unnecessary else diagnostic.#16460
add trailing return diagnostic.#16477
add incorrect case diagnostics for traits and their associated items.#16454
addbreak
andreturn
postfix completions.#16424
add support for convertinglet
statements to guarded returns.#15863
addUnindexedProject
notification for LSP clients.
Fixes
#16487
(first contribution) improveDeref
handling in "Generate getter" assist.#16509
render visibility for tuple struct fields.#16124
improve parser error recovery on missing arguments in call expressions.#16484
preservewhere
clause when expanding built-in derive macros.#16462
improve error message when proc-macros have not yet been built.#16497
fix spacing when inlining functions defined in macros.#16517
fix crash insidefilter_unnecessary_bounds
on missing generic parameter.
Internal Improvements
#16482
(first contribution) use boxed slice forSubtree::token_trees
.#16503
movesalsa
fork in-tree.#16505
optimize input queries that take no arguments.#16527
remove hack for self-referentialSyntaxContext
s.#16467
migrate assists to the structured snippet API, part 6.#16474
instrument more paths usingtracing
.#16499
bumprustc_pattern_analysis
.#16525
abstract more overItemTreeLoc
-like structs.#16470
lint against debug prints and disallowed types using Clippy.#16500
run Clippy on Windows, not Linux.#16518
,#16519
,#16521
enable more Clippy lints.#16492
,#16532
sync from downstream.
See also the changelog post.