Releases: rust-lang/rust-analyzer
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.
2024-05-13
Commit: 5bf2f85
Release: 2024-05-13 (v0.3.1958)
Fixes
#17192fix source range forINT_NUMBERin completion.
Internal Improvements
#17207report all LSP protocol errors withinvalid_data.#17208report both I/O and main loop thread errors.
See also the changelog post.
2024-05-06
Changelog #232
Commit: c4618fe
Release: 2024-05-06 (v0.3.1950)
Fixes
#17177(first contribution) hideRunlens when lenses are disabled.#17160create generics for impl traits in associated types.#17190fix panic ondyn Traitwith lifetimes.#17157don't retry requests that rely on positions, and version resolve data.#17161discard file paths that aren't valid UTF-8.#17172correctly handleno_core/no_stdfor preludes.#17175,#17176fix implicit tyype argument lowering.#17138make "Generate function" emit a constructor stub for functions callednew.
Internal Improvements
#17144(first contribution) remove confusingrust-project.jsonexample from the docs.#17168(first contribution) switch fromwinapitowindows-sys.#17148match tracing span with function names.
See also the changelog post.
2024-04-29
Changelog #231
Commit: f216be4
Release: 2024-04-29 (v0.3.1940)
Fixes
#16972(first contribution) makecargo runalways available for binaries.#17131(first contribution) use different codes for "no such field" errors based on variant type.#17135compute expression scopes for inline consts.#17145fix source roots creation on changes.#17151avoid item tree collisions for attributes on generic parameters.#17153fix doc comment desugaring for proc macros.#17021support hovering limits for ADTs.#17134don't render unknown lifetimes in generic arguments.
Internal Improvements
#17143show workspace info in the status bar.#17102add moretracingspans to project loading.#17150make sure joshrustc-pulldoesn't add new root commits.
See also the changelog post.
2024-04-22
Changelog #230
Commit: 47a901b
Release: 2024-04-22 (v0.3.1932)
New Features
#16813add wrap/unwrap#[cfg_attr]assist.#17094add "ConvertFromtoTryFrom" assist.#17110add minimalcargo-scriptsupport.#17118allow.rsfiles to be used linkedProjects.#16057render matched declarative macro arm on hover.
Fixes
#17115(first contribution) try to generate more meaningful names in JSON converter.#16877fiximpl Trait<Self>causing stack overflows.#17055replace just the variable name in the "Unused variable" quick fix.#17093avoid some circular symlinks in VFS.#17024handle escaped chars in doc comments.#17074addstaticandconsthighlight token types.#17105make test harness arguments configurable.
Internal Improvements
#17104(first contribution) bump actions inmetrics.yaml.#16639redesignrust-analyzer::config.#17078improve diagnostics performance.#16726remove#[cfg(test)]hacks.#17108clean up#[cfg]and environment handling inproject-model.#16938handleBeginPanicin const eval.#17119extract common fields out ofProjectWorkspacevariants.#17037improveTokenSetimplementation and add reserved keywords.#17072usehir_fmt_argseverywhere inhir_ty::display.#17070remove unnecessayGlobalState::send_hint_refresh_queryfield.#17087fix a fewtracingspans without.entered().#17083improveReferenceCategoryType.#16257teach Cargo about#[cfg(rust_analyzer)].#17025usejoshfor subtree syncs.#17095add aCONTRIBUTING.md.
See also the changelog post.
2024-04-15
Changelog #229
Commit: 5dbe3fe
Release: 2024-04-15 (v0.3.1924)
Fixes
#17019don't confuse paths with source roots sharing the same prefix.#17063fix inlay hint resolution.#17056runcargo testper workspace in the test explorer.#17054revert "fix: postfix snippet completion source range".#17051auto-close triple backticks.
Internal Improvements
#17034(first contribution) document enabling the Flatpak Rust SDK extension.#17033log flycheck errors.#17062temporarily disable unlinked file popup.#16450,#17065prepare parser interface for editions.#17059make function builder create AST directly.#17030bumpchalk.#17035run 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,#16988addrust-analyzer.cargo.allTargetsto configure passing--all-targetstocargoinvocations.
Fixes
#17000(first contribution) set the right postfix snippet completion source range.#16968silence type mismatches involving unresolved projections.#16997fixpatch_cfg_ifnot applying with stitched sysroot.#17006fix somecfgcensoring bugs.#17003fix off-by-one in LSP offset conversion.#16961fix crate IDs when multiple workspaces are loaded.#16970fix tasks intasks.json.#17016apply cargo flags in test explorer.#17014consider#[exported_name=main]functions in test modules as tests.
Internal Improvements
#16996lowerOutlivesgoals and respect them in display impls.#17002consider ADT generic parameter defaults for unsubstituted layout calculations.#16979use contiguous indices for enum variants in pattern analysis.#17023slight clean-ups and perf improvements.#16920fix new nightly Clippy lints.#16986add 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,#16967implement lifetime lowering and resolution.#16906add struct hover field display limit (rust-analyzer.hover.show.structFields).
Fixes
#16964revert debug extension priorities.#16965use LLDB when debugging with C++ extension on MacOS.#16957check for client relative glob pattern support before using them.#16971resolve tests per file instead of crate in test explorer.#16975prompt the user to reload the window when enabling test explorer.
Internal Improvements
#16944revert to the crates.io version ofrustc_pattern_analysis.#16930support 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.#16913make file watching work on Windows and improve subsequent change detection.#16935handle CTFE panicking likerustc.#16830fix panic onimpl Traitassociated types inwhereclauses.#16905,#16927renameProcMacroKind::FuncLiketoBang.#16919handleself::superin paths.#16880use--workspaceand--no-fail-fastin test explorer.#16868handle attributes when auto-closing left braces.#16822improve resolution for inlay hints targetting the same position.#16871,#16886skip problematic cyclic dev-dependencies.#16885improve parser recovery for match arms.#16812fix "Go to implementation" for impls inside blocks.#16909keep theAttr::Literalspans.#16911fix hang on projects depending onrustc_private.
Internal Improvements
#16835share token trees between derive attributes and their proc macros.#16879add fuel to match checking.#16895resolve whether$patis$pat_paramor not using hygiene.#16839support arbitrary shell command runnables.#16884move grammar codegen intoxtask.#16889,#16899,#16918enforce UTF-8 paths.#16892don't try to read root crate file contents before VFS.#16912removeSpantrait.#16863bumprustcdependencies and use in-treerustc_pattern_analysis.#16928buildx86_64-unknown-linux-gnureleases on Rocky Linux 8 (GLIBC 2.28).#16904bumprust-cacheaction.#16929bump release actions and Node version.
See also the changelog post.