Skip to content

Releases: rust-lang/rust-analyzer

nightly

01 Jun 00:33
Compare
Choose a tag to compare
nightly Pre-release
Pre-release
Auto merge of #17319 - LukeFranceschini:patch-1, r=lnicola

minor: Missing word typo

2024-05-27

27 May 06:30
Compare
Choose a tag to compare

Changelog #235

Commit: 71a816a
Release: 2024-05-27 (v0.3.1975)

New Features

  • #17268 retain 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.
  • #17270 consider implied bounds from associated types in completion.
  • #17174 infer type of async blocks with tail return.
  • #17251 resolve extern prelude for modules nested in blocks.
  • #17277 fix various find_path issues.
  • #17279 fix format_args lowering.
  • #17284 use correct toolchain channel when generating built-in type doc links.
  • #17275 fix inconsistent working directory for Run and Debug commands.

Internal Improvements

  • #17296 (first contribution) avoid clone when constructing runnable label.
  • #17287 allow sysroot to only consist of the source root dir.
  • #17252 refactor prefer_no_std and prefer_prelude bools into a struct.

See also the changelog post.

2024-05-20

20 May 05:09
Compare
Choose a tag to compare

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

  • #17203 fix OOM caused by term search.
  • #17227 hash file contents to verify it actually changed.
  • #17225 interleave function-like and attribute macro expansion in "Expand macro recursively".
  • #17220 improve confusing literal hovers.
  • #17187 keep parentheses in De Morgan's law assist when the precedence of inner expression is lower.
  • #17216 respect path attribute in "Extract module to file".
  • #17232 don't emit --keep-going with custom build script commands.

Internal Improvements

  • #17250 (first contribution) fix Neovim 0.10 inlay hints config example.
  • #17241 (first contribution) fix some typos.
  • #17221 make macro parse tree validation lazier.
  • #17195 implement unsafe attribute parsing.
  • #17228 sort computed runnables.
  • #17243 add StaticLifetime to hir API.
  • #17235, #17238, #17239, #17240 tweak metrics CI caching.
  • #17224 bump Cargo.lock dependencies.
  • #17259 sync from downstream.

See also the changelog post.

2024-05-13

13 May 05:13
Compare
Choose a tag to compare

Changelog #233

Commit: 5bf2f85
Release: 2024-05-13 (v0.3.1958)

Fixes

  • #17192 fix source range for INT_NUMBER in completion.

Internal Improvements

  • #17207 report all LSP protocol errors with invalid_data.
  • #17208 report both I/O and main loop thread errors.

See also the changelog post.

2024-05-06

06 May 06:33
Compare
Choose a tag to compare

Changelog #232

Commit: c4618fe
Release: 2024-05-06 (v0.3.1950)

Fixes

  • #17177 (first contribution) hide Run lens when lenses are disabled.
  • #17160 create generics for impl traits in associated types.
  • #17190 fix panic on dyn Trait with lifetimes.
  • #17157 don't retry requests that rely on positions, and version resolve data.
  • #17161 discard file paths that aren't valid UTF-8.
  • #17172 correctly handle no_core/no_std for preludes.
  • #17175, #17176 fix implicit tyype argument lowering.
  • #17138 make "Generate function" emit a constructor stub for functions called new.

Internal Improvements

  • #17144 (first contribution) remove confusing rust-project.json example from the docs.
  • #17168 (first contribution) switch from winapi to windows-sys.
  • #17148 match tracing span with function names.

See also the changelog post.

2024-04-29

29 Apr 07:29
Compare
Choose a tag to compare

Changelog #231

Commit: f216be4
Release: 2024-04-29 (v0.3.1940)

Fixes

  • #16972 (first contribution) make cargo run always available for binaries.
  • #17131 (first contribution) use different codes for "no such field" errors based on variant type.
  • #17135 compute expression scopes for inline consts.
  • #17145 fix source roots creation on changes.
  • #17151 avoid item tree collisions for attributes on generic parameters.
  • #17153 fix doc comment desugaring for proc macros.
  • #17021 support hovering limits for ADTs.
  • #17134 don't render unknown lifetimes in generic arguments.

Internal Improvements

  • #17143 show workspace info in the status bar.
  • #17102 add more tracing spans to project loading.
  • #17150 make sure josh rustc-pull doesn't add new root commits.

See also the changelog post.

2024-04-22

22 Apr 05:40
Compare
Choose a tag to compare

Changelog #230

Commit: 47a901b
Release: 2024-04-22 (v0.3.1932)

New Features

  • #16813 add wrap/unwrap #[cfg_attr] assist.
  • #17094 add "Convert From to TryFrom" assist.
  • #17110 add minimal cargo-script support.
  • #17118 allow .rs files to be used linkedProjects.
  • #16057 render matched declarative macro arm on hover.

Fixes

  • #17115 (first contribution) try to generate more meaningful names in JSON converter.
  • #16877 fix impl Trait<Self> causing stack overflows.
  • #17055 replace just the variable name in the "Unused variable" quick fix.
  • #17093 avoid some circular symlinks in VFS.
  • #17024 handle escaped chars in doc comments.
  • #17074 add static and const highlight token types.
  • #17105 make test harness arguments configurable.

Internal Improvements

  • #17104 (first contribution) bump actions in metrics.yaml.
  • #16639 redesign rust-analyzer::config.
  • #17078 improve diagnostics performance.
  • #16726 remove #[cfg(test)] hacks.
  • #17108 clean up #[cfg] and environment handling in project-model.
  • #16938 handle BeginPanic in const eval.
  • #17119 extract common fields out of ProjectWorkspace variants.
  • #17037 improve TokenSet implementation and add reserved keywords.
  • #17072 use hir_fmt_args everywhere in hir_ty::display.
  • #17070 remove unnecessay GlobalState::send_hint_refresh_query field.
  • #17087 fix a few tracing spans without .entered().
  • #17083 improve ReferenceCategoryType.
  • #16257 teach Cargo about #[cfg(rust_analyzer)].
  • #17025 use josh for subtree syncs.
  • #17095 add a CONTRIBUTING.md.

See also the changelog post.

2024-04-15

15 Apr 05:22
Compare
Choose a tag to compare

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 run cargo 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 bump chalk.
  • #17035 run Windows tests on PRs too.

See also the changelog post.

2024-04-08

08 Apr 06:23
Compare
Choose a tag to compare

Changelog #228

Commit: 7a8374c
Release: 2024-04-08 (v0.3.1916)

New Features

  • #16924, #16988 add rust-analyzer.cargo.allTargets to configure passing --all-targets to cargo invocations.

Fixes

  • #17000 (first contribution) set the right postfix snippet completion source range.
  • #16968 silence type mismatches involving unresolved projections.
  • #16997 fix patch_cfg_if not applying with stitched sysroot.
  • #17006 fix some cfg censoring bugs.
  • #17003 fix off-by-one in LSP offset conversion.
  • #16961 fix crate IDs when multiple workspaces are loaded.
  • #16970 fix tasks in tasks.json.
  • #17016 apply cargo flags in test explorer.
  • #17014 consider #[exported_name=main] functions in test modules as tests.

Internal Improvements

  • #16996 lower Outlives 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

01 Apr 05:37
Compare
Choose a tag to compare

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 of rustc_pattern_analysis.
  • #16930 support choosing the allocator in xtask dist.

See also the changelog post.