Skip to content

Releases: rust-lang/rust-analyzer

2024-05-27

27 May 06:30

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

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

Choose a tag to compare

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

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

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

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

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

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

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.

2024-03-25

25 Mar 06:28

Choose a tag to compare

Changelog #226

Commit: 6f6b03f
Release: 2024-03-25 (v0.3.1896)

New Features

  • #16852 implement ATPIT.
  • #16860 syntax highlighting improvements.

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 like rustc.
  • #16830 fix panic on impl Trait associated types in where clauses.
  • #16905, #16927 rename ProcMacroKind::FuncLike to Bang.
  • #16919 handle self::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 the Attr::Literal spans.
  • #16911 fix hang on projects depending on rustc_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 into xtask.
  • #16889, #16899, #16918 enforce UTF-8 paths.
  • #16892 don't try to read root crate file contents before VFS.
  • #16912 remove Span trait.
  • #16863 bump rustc dependencies and use in-tree rustc_pattern_analysis.
  • #16928 build x86_64-unknown-linux-gnu releases on Rocky Linux 8 (GLIBC 2.28).
  • #16904 bump rust-cache action.
  • #16929 bump release actions and Node version.

See also the changelog post.