Skip to content

Releases: rust-lang/rust-analyzer

nightly

13 Jul 00:59
a489123
Compare
Choose a tag to compare
nightly Pre-release
Pre-release
Merge pull request #20232 from ShoyuVanilla/issue-20225

fix: Normalize projection types before calculating memory maps

2025-07-09

09 Jul 08:42
e429bac
Compare
Choose a tag to compare

Commit: e429bac
Release: 2025-07-09 (v0.3.2533)

New Features

  • #20185 include enum variants in world symbols.

Fixes

  • #20192 fix a panic in documentation rendering.
  • #20180 always bump in the parser in err_and_bump.
  • #20200 revert "re-enable fixpoint iteration for variance computation".

Internal Improvements

  • #20198 migrate pull_assignment_up assist to SyntaxEditor.

2025-07-07

07 Jul 05:29
0ac6559
Compare
Choose a tag to compare

Commit: 0ac6559
Release: 2025-07-07 (v0.3.2527)

New Features

Fixes

  • #20151 only remove keyword prefixes (macro@ or macro ) from links in the docs if the target is inferred.
  • #20158 don't warn about the proc macro server when the sysroot is missing.
  • #20160 reduce diagnostic range for macro_calls!.
  • #20120 fix value resolution in match patterns.
  • #20161 fix closure capture analysis for let expressions.
  • #20167 improve #[derive(Default)] expansion.
  • #20031 respect length limit and improve adjustment hint tooltips.
  • #20179 handle divergence in destructuring assignments.
  • #20159 always couple --compile-time-deps with --all-targets.
  • #20170 improve flycheck and build script progress reporting.
  • #20112 add workaround for missing Delimiter::None support to built-in macros.
  • #20126 improve panic message on discover command spawning errors.
  • #20148 honor rust-analyzer.cargo.noDeps option when fetching sysroot metadata.

Internal Improvements

  • #20175 (first contribution) remove special handling for box patterns in match_check.
  • #20124 remove last use of rustc_pattern_analysis::Captures.
  • #20156 restructure proc macro loading erros.
  • #20157 re-enable fixpoint iteration for variance computation.
  • #20184 remove dead field from InferenceContext.
  • #20169 skip unnecessary BodySourceMap's eq.
  • #20134, #20135, #20136, #20137, #20165 migrate replace_is_method_with_if_let_method, promote_local_to_const, toggle_macro_delimiter, wrap_unwrap_cfg_attr and unmerge_match_arm assists to SyntaxEditor.
  • #20132 add AsMut, Borrow and BorrowMut to minicore.
  • #20144 add load_workspace_into_db version of load_workspace.
  • #19923 bump salsa.

See also the changelog post.

2025-06-30

30 Jun 05:07
6df1213
Compare
Choose a tag to compare

Commit: 6df1213
Release: 2025-06-30 (v0.3.2519)

New Features

  • #20077 (first contribution) take an optional "args": "cursor" in the VS Code "Run" command.
  • #19546 highlight return values as related to match / if / =>.
  • #20100 lower PointeeSized to ?Sized to support the new Sized trait hierarchy.
  • #20105 parse new [const] Trait syntax.

Fixes

  • #20110 don't show float completions on integer literals.
  • #20096 don't show notifications on failed rustfmt calls.
  • #20121 don't append --compile-time-deps to build script commands.
  • #20073 use ROOT hygiene for args in the new format_args! expansion.
  • #20069 fix cargo project manifest not pointing to the workspace root.
  • #20072 respect configured build.target-dir.
  • #20061 don't wrap exit points with the right type in "Wrap return type".
  • #20103 prettify AST in PathTransform if it's coming from a macro.
  • #20080 clean up and expand folding_ranges.
  • #20092 don't complain about rustc workspace loading if it's not required.
  • #20036 don't default to 'static for trait object lifetimes.

Internal Improvements

  • #20012 (first contribution) bump literal-escaper.
  • #20088 de-Arc trait items query.
  • #20087 short-circuit a couple of queries.
  • #20106 make the VariantFields query more idiomatic.
  • #20098 unify formatting of progress messages.
  • #20104 clean up provideCodeActions VS Code hook.
  • #20116 cancel CI workflow only after the main matrix has finished.
  • #20084 fix CI job cancellation on Windows.

See also the changelog post.

2025-06-23

23 Jun 06:14
0100bc7
Compare
Choose a tag to compare

Commit: 0100bc7
Release: 2025-06-23 (v0.3.2509)

New Features

  • #19939 add rust-analyzer.assist.preferSelf to prefer Self instead of the enum name in assists.
  • #20047 use cargo check --compile-time-deps when available.
  • #20020 reload workspaces when cargo config changes.
  • #20018 copy lockfile into target directory before invoking cargo metadata.
  • #20056 support the new format_args! expansion in 1.89.
  • #20014 show what cargo metadata is doing.

Fixes

  • #19945 add quickfix to the private-field diagnostic.
  • #20025 (first contribution) hide imported private methods if "private editable" is disabled.
  • #20041 revert "turn BlockId into a #[salsa::tracked]".
  • #20022 never make type mismatch diagnostic stable, even when there is a fix.
  • #20023 improve completions in if / while expression conditions.
  • #20039 fix closure capturing in let expressions.
  • #20035 pass --color=always from Test Explorer.

Internal Improvements

  • #19495 start infesting ide crates with a 'db lifetime.
  • #20046 add hir::TypeParam::parent method.
  • #20050 improve documentation for excluding imports from symbol search.

See also the changelog post.

2025-06-16

16 Jun 07:07
a207299
Compare
Choose a tag to compare

Commit: a207299
Release: 2025-06-16 (v0.3.2500)

New Features

  • #19996 add support for excluding imports from symbol search.
  • #19837, #19985 provide better incrementality when items are changed.

Fixes

  • #19963 do not report errors for unsized types without where Self: Sized items.
  • #19970 fix proc macro server handling of strings with minuses.
  • #19973 hide dyn inlay hints for incomplete impls.
  • #19942 fix completions with some attribute macros.
  • #19981 do not force-descend into derives for goto IDE features.
  • #19983 fix comparison of proc macros.
  • #20000 allow lifetime repeats in macros ($($x)'a*).
  • #19990 generate annotations for macro-defined items if their name is in the input.

Internal Improvements

  • #19982, #19991 simplify and optimize ItemTree.
  • #20009 optimize pub(crate) and pub(self) visibility resolution.
  • #20007, #20008 make salsa usage more idiomatic.
  • #19995 turn BlockId into a #[salsa::tracked].
  • #20006 clean up incremental tests and verify query execution.
  • #19997 remove InternedCallableDefId.
  • #19980 de-duplicateItemTree ItemVisibilities.
  • #19992 use ThinVec in ItemScope in a couple places.
  • #19984 remove pref_align_of intrinsic handling, rename {min_=>}align_of{,_val}.
  • #19930 add support for type-erased Semantics<'db, dyn HirDatabase>.
  • #19975 test incremental trait solving.
  • #19989 bump some deps.

See also the changelog post.

2025-06-09

09 Jun 05:41
9fc1b90
Compare
Choose a tag to compare

Commit: 9fc1b90
Release: 2025-06-09 (v0.3.2490)

New Features

  • #19893 enhance renaming to include identifier variations that are generated by macros.
  • #19908 implement completions for #[diagnostics].
  • #19922 ddd dyn keyword inlay hints.

Fixes

  • #19901 (first contribution) increase the range of the tuple to named struct assists.
  • #19869 (first contribution) add diagnostic and quickfix to make private struct fields public.
  • #19894 handle cycles in infer and const_param_ty_with_diagnostics.
  • #19935 always emit quickfixes, even when diagnostics are disabled.
  • #19936, #19949 stabilize the unlinked file and "JSON is not Rust" diagnostics.
  • #19932, #19937 record macro calls in signatures and fields in ChildBySource impls.

Internal Improvements

  • #19933 improve parser recovery for macro calls in type bound position.
  • #19897 produce CLOSURE_BINDER nodes.
  • #19905 clean up macro descension.
  • #19928 deduplicate some code in proc macro server.
  • #19914 add incremental tests checking for infer invalidation.
  • #19915, #19919, #19920, #19921 try to fix autopublishing workflow.

See also the changelog post.

2025-06-02

02 Jun 06:20
2a388d1
Compare
Choose a tag to compare

Commit: 2a388d1
Release: 2025-06-02 (v0.3.2482)

New Features

  • #19876 render padding information when hovering on structs.
  • #19881 add assist to desugar let pat = expr?; into let else.
  • #19819 change import prefix default to crate.
  • #19890 make import insertion #[cfg]-aware.

Fixes

  • #19879 fix IDE layer not resolving some macro calls.
  • #19880 handle included files better at the IDE layer.
  • #19872 fix inference of AsyncFn return types.
  • #19864 properly implement might_be_inside_macro_call using semantic information instead of syntactical hacks.
  • #19851 normalize when checking for uninhabited types for pattern exhaustiveness checks.
  • #19875 skip pattern analysis on type mismatches.
  • #19899 account for "Generate" actions when filtering the allowed ones.
  • #19785, #19792 keep indent in generate_new and generate_mut_trait.
  • #19900 generate diagnostics docs for the manual.

Internal Improvements

  • #19877 (first contribution) remove support for concat_idents!.
  • #19861 (first contribution) add documentation for find_all_refs constructor search.
  • #19896 restructure some semantics APIs for virtual macro files.
  • #19898 remove unncessary duplication in highlight_related.
  • #19888 recognize salsa cycles in thread_result_to_response.
  • #19850 add support for type-erased Semantics<'db, dyn HirDatabase>.

See also the changelog post.

2025-05-26

26 May 05:35
d2f1787
Compare
Choose a tag to compare

Commit: d2f1787
Release: 2025-05-26 (v0.3.2474)

Fixes

  • #19839 correctly set the span of the proc_macro crate's Group delimiters.
  • #19824 fix caching problems with lint levels.

Internal Improvements

  • #19757 request cancellation while processing changed files.
  • #19814 debounce workspace fetching for workspace structure changes.
  • #19809 catch inference panics in analysis-stats.
  • #19840 fix integrated_benchmarks.
  • #19853 bump salsa.

See also the changelog post.

2025-05-19

19 May 06:19
e464ff8
Compare
Choose a tag to compare

Commit: e464ff8
Release: 2025-05-19 (v0.3.2466)

Fixes

  • #19793 keep derive macros when removing unused imports.
  • #19687 highlight unsafe operations as related when the caret is on unsafe.
  • #19801 improve asm! support.
  • #19794 don't allow duplicate crates in the all_crates list.
  • #19807 don't override RUSTUP_TOOLCHAIN if it is already set.

Internal Improvements

  • #19796 (first contribution) bump some dependencies for Cygwin support.
  • #19808 run metrics on the beta channel.

See also the changelog post.