Releases: rust-lang/rust-analyzer
2024-08-05
Commit: c9109f2
Release: 2024-08-05
(v0.3.2062
)
New Features
#17707
use spans for built-in and declarative macro expansion errors.#17735
introduce workspace-levelrust-analyzer.toml
.
Fixes
#17750
don't require absolute paths inlinkedProjects
.#17715
let glob imports override other globs' visibility.#17747
fix inference for method calls with elided lifetimes.#17755
applyIndexMut
obligations for non-assigning mutable usages.#17741
makeinclude!
work with raw string literals.#17763
insert a tailOk(())
in type mismatch quick fix.#17736
showasync
in trait method completions.#17789
insert a generic args forimpl Trait
during lowering.#17742
don't retry inlay hint and code lens requests.
Internal Improvements
#17705
(first contribution) use oldestrustup
rust-analyzer when toolchain override is present.#17722
use VS Code logging helpers.#17770
removeTryFrom
implementation forAbsPathBuf
.
See also the changelog post.
2024-07-29
Commit: fd74511
Release: 2024-07-29
(v0.3.2053
)
New Features
#17542
Support "Go to definition" and "Find all references" on control flow keywords.#17676
add preliminary support for the+ use<..>
precise_capturing
syntax.
Fixes
#17511
(first contribution) fix trait solving withDeref
as a supertrait.#17472
(first contribution) filter run unit tests by crate when running them.#17660
fix again the path resolution for included submodules.#17706
fixinclude!
s withexpr
fragment inputs.#17586
allow macro expansions intoRestPat
in tuple args.#17697
support the newcargo config get env
format.#17709
fix hover links.#17713
fix panic on unresolved index fields.#17720
flip the naming of the doc-comment to comment assist.
Internal Improvements
#17675
(first contribution) remove thelens.forceCustomCommands
config.#17670
enable LRU for thebody_with_source_map
query.#17671
shrinkBinding
.#17695
shrinkTypeRef
by 8 bytes.#17693
remove params and fields fromAstIdMap
.#17668
remove incorrectnever!
invocations forasync
functions.#17647
rename internal rust-analyzer commands.#17698
remove unusedtrace
module.#17690
fix and enableunsafe_op_in_unsafe_fn
.#17483
improverust-analyzer.toml
error reporting.#17667
use the rustuprust-analyzer
component whenrust-toolchain.toml
exists.#17610
addImpl::all_in_module(…)
for more localized querying.#17674
add version and config to theStatus
command.#17395
removeUnindexedProject
notification.
Others
See also the changelog post.
2024-07-22
Commit: 4afe0d5
Release: 2024-07-22
(v0.3.2045
)
New Features
#17588
(first contribution) add incorrect case diagnostics for enum variant fields and all variables/params.#17620
,#17640
,#17646
make parser edition-aware.#17635
add inlay hint support for lifetime labels in block expressions.#17246
teach rust-analyzer to discoverlinked_projects
.
Fixes
#17650
(first contribution) fix path resolution for child modules of those expanded byinclude!
.#17587
trigger a rename in VS Code "Extract variable".#17649
be more robust to type errors in match analysis.#17656
allow flyimport to import modules that shadow a primitive.#17653
prefer standard library paths over shorter extern re-exports.#17611
don't callmacro_arg
directly inExpandDatabase::syntax_context
.#17622
handle renaming in "Merge imports".#17605
setRUSTC_TOOLCHAIN
for runnables.
Internal Improvements
#17584
,#17603
,#17604
implement symbol interning.#17657
makeCfgExpr
slightly smaller.#17638
reduce memory usage ofsalsa
slots by 8 bytes.#17639
some moresalsa
memory improvements.#17559
,#17601
encode ident rawness and literal kind separately intt::Leaf
.#17655
morefind_path
improvements.#17618
supportrustc_skip_during_method_dispatch
.#17617
derive syntax kind information from ungrammar file.#17637
removerust-analyzer.openFAQ
command.#17616
fix incorrect generic parameter hint defaults.#17641
don't take references informat_args!
and friends.
See also the changelog post.
2024-07-15
Commit: e9afba5
Release: 2024-07-15
(v0.3.2037
)
New Features
#17544
(first contribution) add inlay hints for generic parameters.#17572
addf16
andf128
support.
Fixes
#17558
(first contribution) fix double rounding off32
literals.#17571
do not add duplicate enum in "bool to enum".#17561
add--keep-going
to the check command.
Internal Improvements
#17565
drop version check for--keep-going
(drops support for pre-1.74).#17576
remove FAQ landing page, improve main one.
See also the changelog post.
2024-07-08
Commit: a5b21ea
Release: 2024-07-08
(v0.3.2029
)
New Features
#17508
add walkthrough and FAQ pages.
Fixes
#17523
(first contribution) add an option to use :: for the external crate prefix.#17529
fix lifetime parameters shifting parameter defaults.#17534
skip match exhaustiveness checking if pattern type contains errors.#17536
don't emit semantic diagnostics in files with a lot of syntax errors.#17552
use original source ranges in macro parameter completions.#17554
fixcallHierarchy
LSP violation.#17541
fix stack overflow on recursive calls withimpl Trait
.#17494
don't normalizeuse foo::{self}
touse foo
.#17546
diagnose unresolvedself
value in path expressions.#17549
fix runnable construction.#17495
,#17548
pass extra Cargo args when debugging.
Internal Improvements
#17522
bumprustc_pattern_analysis
.#17551
setInferenceResult::has_errors
on error types.#17526
improve error message when the proc macro server unexpectedly exits.#17535
fix up the syntax tree for macro 2.0.#17547
clean up runnable LSP extension.#17555
inline generated syntax methods.#17553
move remaining codegen things toxtask codegen
.#17530
move lifetimes in front of type and const params.#17527
move capability querying out of the config module.
See also the changelog post.
2024-07-01
Commit: ea7fdad
Release: 2024-07-01
(v0.3.2020
)
Fixes
#17467
(first contribution) allow "Bool to enum" assist on function parameters.#17505
fix stack overflow with TAITs.#17481
allow pattern completions inlet
statements.#17471
keep parentheses for calls of function-like fields.#17513
fix completions afterasync
.#17518
fix expression scope calculation in macro expansions.#17488
fix duplicate snippets showing up on hover.#17516
allow disabling borrow checking in term search and don't emit explicit generics.#17411
improve hover text in unlinked file diagnostics.
Internal Improvements
#17478
simplify and speed up data constructor term search tactic.#17487
small memory usage optimizations.#17519
move dylib version testing toproc-macro-srv
.#17520
someproc-macro-srv
clean-ups.#17501
allow non-org members to assign area labels.
See also the changelog post.
2024-06-24
Commit: 2fd803c
Release: 2024-06-24
(v0.3.2011
)
New Features
#17438
(first contribution) addToggle LSP Logs
command.
Fixes
#17419
(first contribution) don't expand built-in macros inExpand macros recursively
.#17431
add space after specific keywords in completion.#17459
includeasync
keyword in completions.#17442
handle end of input inpat
fragment parsers.#17415
only showunlinked-file
diagnostic on first line during startup.#17426
handle character boundaries for wide chars in extend_selection#17457
actually prevent cycles in thesource_root_parent_map
.#17461
fix panic when cancelling flycheck.#17462
fix IDE features breaking in some attribute macros.#17469
handleItemInNs::Macros
when convertingModuleItem
toItemInNs
.#17449
add associated item constants tactic for term search.#17439
,#17464
properly prime all crate def maps inparallel_prime_caches
.#17440
fix and cleanup VS Code task building.
Internal Improvements
#17434
(first contribution) document for parameter inlay hints heuristics.#17456
(first contribution) remove conflict warning withpanicbit.cargo
.#17473
tidy up generics handling inhir-ty
.#17474
avoid some allocations inhir-ty
.#17455
tidy up the VS Code extension a bit.#17435
fix manual generation instructions.
See also the changelog post.
2024-06-17
Commit: 6b8b8ff
Release: 2024-06-17
(v0.3.2002
)
New Features
#17372
compute native diagnostics in parallel.#17364
show type bounds from containers when hovering on functions.#17374
allow choosing logical cores for cache priming threads.#16840
allow arbitrary commands for runnables inrust-project.json
.
Fixes
#17412
(first contribution) add a breaker to avoid infinite loops with source root cycles.#17381
ensure that aSourceRoot
cannot be its own parent.#17380
remove again extra parse cache fromSemantics
.#17394
fixHirDisplay
stack overflow forSelf
parameter defaults.#17407
avoid doubling Cargo args in runnables.
Internal Improvements
#17405
,#17406
avoid unnecessaryModPath
clones.#17377
improve HIR formatting.#17392
rename${length()}
to${len()}
in MBE.#17398
removeFileId::BOGUS
.#17418
fixrustdoc
warnings.#17417
prefer a trait over theimpl_intern_value_trivial
macro.
See also the changelog post.
2024-06-11
Auto merge of #17381 - roife:fix-issue-17378, r=Veykril fix: ensure that the parent of a SourceRoot cannot be itself fix #17378. In `FileSetConfig.map`, different roots might be mapped to the same `root_id` due to deduplication in `ProjectFolders::new`: ```rust // Example from rustup /Users/roife/code/rustup/target/debug/build/rustup-863a063426b56c51/out /Users/roife/code/rustup ``` In `source_root_parent_map`, r-a might encounter paths where their SourceRootId (i.e. `root_id`) is identical, yet one the them is the parent of the another. This situation can cause the `root_id` to be its own parent, potentially leading to an infinite loop. This PR resolves such cases by adding a check.
2024-06-10
Changelog #237
Commit: b427d46
Release: 2024-06-10
(v0.3.1992
)
New Features
#17282
(first contribution) hide items starting with__
from symbol search.#17058
add basic, unstable support forrust-analyzer.toml
.
IMPORTANT: We don't promise any stability with this feature yet, any configs exposed may be removed again, the ordering may change etc.
Fixes
#17352
do not resolve prelude within block modules.#17350
highlight unlinked files more proeminently.#17360
don't touch foreign sources when renaming imports.#17333
check for snippet support inextract_expressions_from_format_string
.#17329
don't mark#[rustc_deprecated_safe_2024]
functions as unsafe.#17353
fix hover action formatting.#17308
prioritize local crates in auto-import.
Internal Improvements
#17346
,#17368
(first contribution) add submenus to GUI VS Code extension settings.#17340
improvefind_path
performance.#17004
cache macro calls more aggressively inSemantics
.#17312
addFunction::fn_ptr_type(…)
for obtaining name-erased function types.#17348
use fallible indexing inTypeOrConstParam::source(…)
andLifetimeParam::source(…)
.#17365
expose snippet capability to diagnostic quickfixes.#17375
don't intern attribute inputs, as their spans make them unique.#17341
clean up inert attribute handling.#17356
prefer shorthandtracing::span
macros.#17315
use string interpolation in more places.#17359
add version info to VS Code status bar item.
See also the changelog post.