Releases: rust-lang/rust-analyzer
2024-07-15
Commit: e9afba5
Release: 2024-07-15 (v0.3.2037)
New Features
#17544(first contribution) add inlay hints for generic parameters.#17572addf16andf128support.
Fixes
#17558(first contribution) fix double rounding off32literals.#17571do not add duplicate enum in "bool to enum".#17561add--keep-goingto the check command.
Internal Improvements
#17565drop version check for--keep-going(drops support for pre-1.74).#17576remove 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
#17508add walkthrough and FAQ pages.
Fixes
#17523(first contribution) add an option to use :: for the external crate prefix.#17529fix lifetime parameters shifting parameter defaults.#17534skip match exhaustiveness checking if pattern type contains errors.#17536don't emit semantic diagnostics in files with a lot of syntax errors.#17552use original source ranges in macro parameter completions.#17554fixcallHierarchyLSP violation.#17541fix stack overflow on recursive calls withimpl Trait.#17494don't normalizeuse foo::{self}touse foo.#17546diagnose unresolvedselfvalue in path expressions.#17549fix runnable construction.#17495,#17548pass extra Cargo args when debugging.
Internal Improvements
#17522bumprustc_pattern_analysis.#17551setInferenceResult::has_errorson error types.#17526improve error message when the proc macro server unexpectedly exits.#17535fix up the syntax tree for macro 2.0.#17547clean up runnable LSP extension.#17555inline generated syntax methods.#17553move remaining codegen things toxtask codegen.#17530move lifetimes in front of type and const params.#17527move 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.#17505fix stack overflow with TAITs.#17481allow pattern completions inletstatements.#17471keep parentheses for calls of function-like fields.#17513fix completions afterasync.#17518fix expression scope calculation in macro expansions.#17488fix duplicate snippets showing up on hover.#17516allow disabling borrow checking in term search and don't emit explicit generics.#17411improve hover text in unlinked file diagnostics.
Internal Improvements
#17478simplify and speed up data constructor term search tactic.#17487small memory usage optimizations.#17519move dylib version testing toproc-macro-srv.#17520someproc-macro-srvclean-ups.#17501allow 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 Logscommand.
Fixes
#17419(first contribution) don't expand built-in macros inExpand macros recursively.#17431add space after specific keywords in completion.#17459includeasynckeyword in completions.#17442handle end of input inpatfragment parsers.#17415only showunlinked-filediagnostic on first line during startup.#17426handle character boundaries for wide chars in extend_selection#17457actually prevent cycles in thesource_root_parent_map.#17461fix panic when cancelling flycheck.#17462fix IDE features breaking in some attribute macros.#17469handleItemInNs::Macroswhen convertingModuleItemtoItemInNs.#17449add associated item constants tactic for term search.#17439,#17464properly prime all crate def maps inparallel_prime_caches.#17440fix 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.#17473tidy up generics handling inhir-ty.#17474avoid some allocations inhir-ty.#17455tidy up the VS Code extension a bit.#17435fix manual generation instructions.
See also the changelog post.
2024-06-17
Commit: 6b8b8ff
Release: 2024-06-17 (v0.3.2002)
New Features
#17372compute native diagnostics in parallel.#17364show type bounds from containers when hovering on functions.#17374allow choosing logical cores for cache priming threads.#16840allow arbitrary commands for runnables inrust-project.json.
Fixes
#17412(first contribution) add a breaker to avoid infinite loops with source root cycles.#17381ensure that aSourceRootcannot be its own parent.#17380remove again extra parse cache fromSemantics.#17394fixHirDisplaystack overflow forSelfparameter defaults.#17407avoid doubling Cargo args in runnables.
Internal Improvements
#17405,#17406avoid unnecessaryModPathclones.#17377improve HIR formatting.#17392rename${length()}to${len()}in MBE.#17398removeFileId::BOGUS.#17418fixrustdocwarnings.#17417prefer a trait over theimpl_intern_value_trivialmacro.
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.#17058add 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
#17352do not resolve prelude within block modules.#17350highlight unlinked files more proeminently.#17360don't touch foreign sources when renaming imports.#17333check for snippet support inextract_expressions_from_format_string.#17329don't mark#[rustc_deprecated_safe_2024]functions as unsafe.#17353fix hover action formatting.#17308prioritize local crates in auto-import.
Internal Improvements
#17346,#17368(first contribution) add submenus to GUI VS Code extension settings.#17340improvefind_pathperformance.#17004cache macro calls more aggressively inSemantics.#17312addFunction::fn_ptr_type(β¦)for obtaining name-erased function types.#17348use fallible indexing inTypeOrConstParam::source(β¦)andLifetimeParam::source(β¦).#17365expose snippet capability to diagnostic quickfixes.#17375don't intern attribute inputs, as their spans make them unique.#17341clean up inert attribute handling.#17356prefer shorthandtracing::spanmacros.#17315use string interpolation in more places.#17359add version info to VS Code status bar item.
See also the changelog post.
2024-06-03
Changelog #236
Commit: 7852a4c
Release: 2024-06-03 (v0.3.1983)
New Features
#17253(first contribution) add assist to toggle between normal and doc-comments.#17258(first contribution) add assist to toggle async sugar.#17328enable completions within derive helper attributes.
Fixes
#17302fix diagnostics clearing when flycheck runs per-workspace.#17326fix container search for tokens originating within derive attributes.#17291handle generics in type constructor term search tactic.
Internal Improvements
#17278(first contribution) replacecommand-groupwithprocess-wrap.#17337include path info inAbsPathBuf::assertpanic message.
See also the changelog post.
2024-05-27
Changelog #235
Commit: 71a816a
Release: 2024-05-27 (v0.3.1975)
New Features
#17268retain more information about callables.
Fixes
#17248(first contribution) only clear diagnostics after new ones were received.#17140(first contribution) handle{self}when removing unused imports.#17295(first contribution) use correct key for environment variables with the C/C++ extension.#17270consider implied bounds from associated types in completion.#17174infer type of async blocks with tail return.#17251resolve extern prelude for modules nested in blocks.#17277fix variousfind_pathissues.#17279fixformat_argslowering.#17284use correct toolchain channel when generating built-in type doc links.#17275fix inconsistent working directory for Run and Debug commands.
Internal Improvements
#17296(first contribution) avoid clone when constructing runnable label.#17287allow sysroot to only consist of the source root dir.#17252refactorprefer_no_stdandprefer_preludebools into a struct.
See also the changelog post.
2024-05-20
Changelog #234
Commit: 21ec8f5
Release: 2024-05-20 (v0.3.1966)
Note
Because of an infrastructure issue, this release is not available on the VS Code Marketplace.
Of course, you can still download and install the VSIX from GitHub Releases.
Fixes
#17203fix OOM caused by term search.#17227hash file contents to verify it actually changed.#17225interleave function-like and attribute macro expansion in "Expand macro recursively".#17220improve confusing literal hovers.#17187keep parentheses in De Morgan's law assist when the precedence of inner expression is lower.#17216respect path attribute in "Extract module to file".#17232don't emit--keep-goingwith custom build script commands.
Internal Improvements
#17250(first contribution) fix Neovim 0.10 inlay hints config example.#17241(first contribution) fix some typos.#17221make macro parse tree validation lazier.#17195implementunsafeattribute parsing.#17228sort computed runnables.#17243addStaticLifetimetohirAPI.#17235,#17238,#17239,#17240tweak metrics CI caching.#17224bumpCargo.lockdependencies.#17259sync from downstream.
See also the changelog post.