Skip to content

Releases: rust-lang/rust-analyzer

nightly

21 May 00:51
96a2531
Compare
Choose a tag to compare
nightly Pre-release
Pre-release
Merge pull request #19826 from lnicola/sync-from-rust

minor: Sync from downstream

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.

2025-05-12

12 May 07:27
2bafe9d
Compare
Choose a tag to compare

Commit: 2bafe9d
Release: 2025-05-12 (v0.3.2457)

New Features

  • #19740 add assist to unwrap a type into its single generic argument.

Fixes

  • #19751 (first contribution) support CARGO_MANIFEST_PATH.
  • #19763 complete parentheses and method call arguments if the next line starts with a tuple.
  • #19742 fix incorrect handling of unresolved non-module imports in name resolution.
  • #19746 fix proc-macro API creating malformed negative literals.
  • #19747 fix move_bounds assists with lifetimes.
  • #19434 support negative numbers in concat!.
  • #19764 don't deref twice in postfix snippets.
  • #19738 fix panic on <T as Tr> without an associated type.
  • #19507 fix path resolution in outer doc comments.

Internal Improvements

  • #19721 handle parallelism better in cache priming.
  • #19707 de-Arc defmap queries.
  • #19750 remove unnecessary token length check for macros in renaming.
  • #19749 remove unnecessary AsAny trait.
  • #19772 make diagnostics experimental by default.
  • #19748 direct users to discussions instead of issues for questions.

See also the changelog post.

2025-05-05

05 May 05:21
3b57c00
Compare
Choose a tag to compare

Commit: 3b57c00
Release: 2025-05-05 (v0.3.2449)

Fixes

  • #19704 add underscore mode for expression filling.
  • #19733 implement mut to const pointer cast for method resolution.
  • #19732 fix associated type bound variable starting index.
  • #19699 properly escape raw names in labels.
  • #19247 fix span info in mir::Operand.
  • #19723 improve parser recovery a bit.
  • #19581 render more lifetimes.
  • #19735 improve the let and letm snippets.
  • #19739 temporarily disable fixpoint for variance computation.

Internal Improvements

  • #19685 (first contribution) add PGO support to xtask install.
  • #19713 clean up cfg check handling in expression store lowering.
  • #19469 migrate merge_imports, unmerge_imports and let_else_to_match to SyntaxEditor.
  • #19708 de-Arc language item queries.
  • #19712 clean up cache priming cancellation handling.
  • #19731 simplify macro call id construction.
  • #19714 remove unnecessary extension trait.
  • #19719 adjust panic context printing.
  • #19727 remove a couple of unnecessary clones.
  • #19716 bump salsa (saves 212 MB on analysis-stats self).

See also the changelog post.

2025-04-28

28 Apr 05:40
d8887c0
Compare
Choose a tag to compare

Commit: d8887c0
Release: 2025-04-28 (v0.3.2441)

New Features

Fixes

  • #19622 (first contribution) fix some bugs in the string rewriting assists.
  • #19604 (first contribution) add semicolon to use completion.
  • #19657 improve support for offset_of!().
  • #19636 fix completion_snippets_custom config always erroring out.
  • #19650 support unstable UnsafePinned struct in type layout computation.
  • #19647 fix panics in inlay hints that produce empty text edits for closure return types.
  • #19684 report error when unable to parse a DiscoverProjectMessage.

Internal Improvements

  • #19678 arena-allocate LifetimeRefs.
  • #19655 fold hygiene map into the bindings themselves.
  • #19677 remove WherePredicateTypeTarget.
  • #19644 make predefined symbols const instead of static.
  • #19688 add some missing shrink_to_fit()s and upgrade dashmap and hashbrown.
  • #19624 bump chalk to make the generic parameter order match rustc.
  • #19661 bump salsa.

See also the changelog post.

2025-04-21

21 Apr 07:40
723121e
Compare
Choose a tag to compare

Commit: 723121e
Release: 2025-04-21 (v0.3.2431)

New Features

Fixes

  • #19576 (first contribution) ignore more rustfmt parsing errors.
  • #19596 include generic parameters and default values in signature help.
  • #19590 add pub(crate) mod option for unlinked files.
  • #19588 include inline format macro variables in "Extract into function".
  • #19589 fix highlighting for tail expr in labelled blocks.
  • #19619 sort notable traits in hover.
  • #19612 fix a bug with predicate lowering of associated items.
  • #19613 fix panic with implemented trait method that declares an extra lifetime parameter.
  • #19579 prevent panics on cyclic dependencies dependency between closures.
  • #19628, #19642 don't ignore config values that fail to parse.

Internal Improvements

  • #19578 (first contribution) normalize drive letters in the VS Code extension.
  • #19638, #19639 (first contribution) add anchors to configuration options and fix dead links to the manual.
  • #19616 make hir-ty non-diagnostic queries transparent (saves 56 MB on analysis-stats self).
  • #19617 make HirFileId, EditionedFileId and macro files salsa structs (saves 165 MB on analysis-stats self).
  • #19591 use ast::TokenTree in make::expr_macro.
  • #19572 migrate expand_rest_pattern to SyntaxEditor.
  • #19568 migrate destructure_struct_binding to SyntaxEditor.
  • #19569 return correct types for make::expr_* methods.
  • #19600 pin the rustc used for the proc-macro-src CI job.
  • #19521 cancel parallel CI jobs if tests fail.

See also the changelog post.

2025-04-14

14 Apr 05:53
8365cf8
Compare
Choose a tag to compare

Commit: 8365cf8
Release: 2025-04-14 (v0.3.2379)

New Features

  • #19255, #19554 (first contribution) add "Locate child modules" command.

Fixes

  • #19432 fix another false positive invalid cast diagnostic.
  • #19563 walk const block expressions for unsafety checking.
  • #19541 prefer imports of matching types for argument lists.
  • #19461 fix shadowing of modules by types.
  • #19571 fix missing test update notifications when there are hyphens in the target name and exclude dependencies from "Run all".

Internal Improvements

  • #19425 (first contribution) make drop glue info less verbose.
  • #19462, #19558, #19570 lower TypeRefs before type inference.
  • #19536 port closure inference from rustc.
  • #19566 use the callable_item_signature query in dyn-compatibility checks.
  • #19550 turn LifetimeRef into an enum.
  • #19562 tweak invalid signature bitflags.
  • #19573 render sigantures in "View HIR" command.
  • #19512 fix some stdx lints.
  • #19559 switch to Rust 1.86.
  • #19565 add prime-caches subcommand.

See also the changelog post.

2025-04-07

07 Apr 05:25
588948f
Compare
Choose a tag to compare

Commit: 588948f
Release: 2025-04-07 (v0.3.2370)

Fixes

  • #19526 (first contribution) use constant, not const in rustdoc links.
  • #19447 add impl for completion.
  • #19515 don't drop references with more than one definition.
  • #19501 fix a regression in MBE expansion.
  • #19531 fix format_args! lowering for 1.87.
  • #19522 fix panic in "View crate graph".
  • #19523 fix proc macro server spawning.
  • #19514 fix bracket colorization in strings.

Internal Improvements

  • #19490 (first contribution) fix panic in analysis-stats progress line slicing.
  • #19492 avoid a needless block_def_map() access.
  • #19496 replace some #[salsa::invoke]s with invoke_actual.
  • #19494 unwrap some unnecessary Arcs.
  • #19482 clean up parameter name inlay hint filtering heuristics.
  • #19509 drop AssistKind::None.
  • #19484 fix new lints in nightly.
  • #19520 align usage of default and new with style guide.
  • #19485 clean up CI a bit.
  • #19493 disable rust-cache in CI.
  • #19533 set up a job matrix for rust-cross.
  • #19519 add rust-analyzer.cargo.noDeps option.

See also the changelog post.

2025-03-31

31 Mar 05:31
fb133c8
Compare
Choose a tag to compare

Commit: fb133c8
Release: 2025-03-31 (v0.3.2362)

New Features

  • #19375 allow crate authors to disable completions using #[rust_analyzer::completions].
  • #19388 parse unsafe record fields.
  • #19347 add diagnostic for ambiguous &impl 'a + Sized.

Fixes

  • #19475 (first contribution) fix debug source map.
  • #19433 fix let else to if let else conversion.
  • #19435 fix ranges in closure return inlay hints.
  • #19466 fix a bug in orphan rule check.
  • #19474 fix, clarify and require a value for proc_macro_cwd of CrateData.

Internal Improvements

  • #19440 replace custom ThinVec with the thin-vec crate.
  • #19451 use medium durability for crate graph changes, high for library source files.
  • #19359 emit lines of code and item tree counts in analysis-stats.
  • #19457 remove salsa dependency from proc macro server again.
  • #19446, #19448 run tests under cargo miri.
  • #19422 clean up VS Code output channels, drop debug.openDebugPane.
  • #19430 bump dependencies.

See also the changelog post.

2025-03-24

24 Mar 05:46
37acea8
Compare
Choose a tag to compare

Commit: 37acea8
Release: 2025-03-24 (v0.3.2353)

Fixes

  • #19384 fix stale "Building CrateGraph" report.
  • #19416 handle multiple #[repr(..)] attributes correctly.
  • #19362 speed up resolving a "Generate delegate method" assist.
  • #19348 add text edit support for return type hints on non-block body closures.
  • #19413 properly calculate the layout of unsized tuple pointers.
  • #19320 mark manual trait implementations as unsafe when replacing a derive.
  • #19400 fix syntax highlighting for &raw const / &raw mut in standalone files.
  • #19397 add postfix completion for const block.
  • #19005 fix testing of packages with multiple targets.

Internal Improvements

  • #19408 replace #[derive]s to reduce codegen burden for generated syntax types.
  • #19390 do not use Expander in associated item lowering.
  • #19412 remove some unnecessary usages of Semantics.
  • #19429 remove unused dependencies.
  • #19419 render layout and other extra information when hovering Self.
  • #19329 add some docs to proc-macro-api.
  • #19379 bump Edition::CURRENT to 2024.
  • #19378 trigger salsa LRU at the end of analysis-stats.
  • #19315 do not generate docs with in xtask codegen --check.
  • #19391 clean up proc-macro-srv CI job.

See also the changelog post.