Skip to content

Releases: rust-lang/rust-analyzer

nightly

31 Jan 00:38
3c2aca1
Compare
Choose a tag to compare
nightly Pre-release
Pre-release
Merge pull request #19072 from cessen/concat_uniquely

Fix #19071: ensure `completion_item_hash` serializes items uniquely

2025-01-28

28 Jan 14:42
1f86729
Compare
Choose a tag to compare
Merge pull request #19061 from Veykril/push-rwyqqtqmnput

Disable `Receiver` based autoderef temporarily

2025-01-27

27 Jan 06:25
2df4ecf
Compare
Choose a tag to compare

Commit: 2df4ecf
Release: 2025-01-27 (v0.3.2282)

New Features

  • #18934 add the ability to jump from into to from definitions.
  • #18993 make auto-insertion of await and iter() in completions configurable.
  • #19012 implement arbitrary_self_types.

Fixes

  • #19004 (first contribution) increase AUTODEREF_RECURSION_LIMIT to 20.

  • #18973 make niches into nices (improve niche count rendering).

    a type with nicely-formatted 2⁢³ niches

  • #19034 don't complete #[doc(hidden)] enum variants and use trees.

  • #18976 consider enum variants in type ns resolution.

  • #18988 de-prioritize completions that add await and iter().

  • #19016, #19018 record glob imports in ItemScope.

  • #19028 filter by path stability in flyimport.

  • #19030 fix markdown horizontal ruler sometimes being treated as a heading.

  • #19020 prevent infinite recursion when formatting bounds.

  • #19017 fix flycheck panic with once invocation strategy.

  • #18977 fix missing upmapping in trait impl completion.

  • #18982 reduce "Extract variable" range.

  • #18967 properly record meaningful imports as re-exports in symbol index.

  • #18986 go to Display::fmt when invoked on to_string.

  • #19014 check cfgs when collecting macro defs.

  • #19026 only collect implicit visibile use symbols if they have renames.

  • #19033 make proc-macro-srv spans lines and columns 1-indexed (but always 1).

  • #19019 explicitly add buildfiles when constructing ProjectFolders.

  • #18989 only refresh syntax tree view when the active document changes.

Internal Improvements

  • #18981 (first contribution) make usage of RTLD_DEEPBIND in proc macro server portable.
  • #18991 keep already computed inlay hint properties instead of late resolving them.
  • #19029 skip redundant path search in resolve_completion_edits.
  • #18909 use strict_provenance in symbol interner.
  • #18984 move dual blanket impl logic from source_analyzer to goto_def.
  • #18990 clean up Name string rendering.
  • #18994 treat cfg fetching failures as a warning, not error.
  • #18878 document all rust-project.json fields.
  • #18972 drop outgoing lsp-server messages on a background thread.

See also the changelog post.

2025-01-20

20 Jan 06:33
248bd51
Compare
Choose a tag to compare

Commit: 248bd51
Release: 2025-01-20 (v0.3.2273)

New Features

  • #18917 add dereferencing completions.
  • #18927 automatically include await, iter() and into_iter() in completions
  • #18925 render type parameter projection target bounds in inlay hints.
  • #18946, #18950 show "Go to type definition" actions for type bounds in functions.
  • #18952 complete raw and const keywords.
  • #18939 flip rust-analyzer.typing.excludeChars to be opt-in, with better defaults.

Fixes

  • #18908 (first contribution) report errors blocks before else in let-else.
  • #18953 (first contribution) fix broken #[cfg(debug_assertions)].
  • #18933 (first contribution) bump update notify to fix a Windows crash.
  • #18944 update chalk, to fix trait upcasting.
  • #18949 partially back out "fix source root construction for virtual manifests".
  • #18929 avoid stack overflow when reaching macro expansion limit.
  • #18940 fix Semantics not always caching file roots correctly.
  • #18922 don't return inlay hints outside requested range.
  • #18897 make test_runner::TestState::stdout optional to fix parsing cargo test JSON output.
  • #18968 enable unstable-options for cargo rustc --print.
  • #18937 hide syntax tree view by default.

Internal Improvements

  • #18957 update syntax tree viewer docs.
  • #18951 add missing #[rust_analyzer::rust_fixture] annotations.

See also the changelog post.

2025-01-13

13 Jan 07:11
8364ef2
Compare
Choose a tag to compare

Commit: 8364ef2
Release: 2025-01-13 (v0.3.2264)

New Features

  • #18880 (first contribution) add config to include additional paths in the VFS.
  • #18885 (first contribution) change rust-analyzer.cargo.cfgs from a map to a list.
  • #18907 implement #[rust_analyzer::skip] for bodies.
  • #18903 implement implicit sized bound inlay hints.
  • #18813 reimplement the syntax tree view as a sidebar.
  • #18906 reimplement Rust string highlighting using a tool attribute.
  • #18788 re-remove rust-analyzer.cargo.sysrootQueryMetadata.

Fixes

  • #18832 (first contribution) do not offer completions within strings in macro calls.
  • #18866 (first contribution) fix JSON project buildfile inclusion.
  • #18858 clear diagnostics on cancel unconditionally.
  • #18853 fix case where completion inside macro that expands to #[test] was unavailable.
  • #18864 fix diagnostics not clearing between flychecks.
  • #18877 fix performance issue on missing MBE bindings.
  • #18884 fix env! completions.
  • #18900 do not call prettify_macro_expansion unless "Inline macro" has actually been invoked.
  • #18904 improve module path rendering in hover.
  • #18861 make edition per-token, not file.
  • #18920 fix ref text edit for binding mode hints.
  • #18889 fix token lookup in macro call completions.
  • #18899 fix another panic in fixup reversing.

Internal Improvements

  • #18855 migrate if-let replacement assists to SyntaxEditor.
  • #18524 migrate (un)wrap_return_type assists to SyntaxEditor.
  • #18902 add Definition::Crate.
  • #18921 compute inlay hint text edits lazily.
  • #18923 compute inlay hint tooltips lazily.
  • #18867 support target-tuple (vs. target-triple) and clean up version fetching.
  • #18887 refactor test helpers within ide-completions.

See also the changelog post.

2025-01-08

08 Jan 07:42
238ccb6
Compare
Choose a tag to compare

Commit: 91fc0a2
Release: 2025-01-08 (v0.3.2257)

New Features

  • #18788 re-remove rust-analyzer.cargo.sysrootQueryMetadata.

Fixes

  • #18832 (first contribution) do not offer completions within strings in macro calls.
  • #18866 (first contribution) fix JSON project buildfile inclusion.
  • #18864 fix diagnostics not clearing between flychecks.
  • #18877 fix performance issue on missing MBE bindings.

Internal Improvements

  • #18867 support target-tuple (vs. target-triple) and clean up version fetching.

See also the changelog post.

2025-01-07

07 Jan 07:31
cd12ef8
Compare
Choose a tag to compare

Commit: cd12ef8
Release: 2025-01-07 (v0.3.2253)

Fixes

  • #18858 clear diagnostics on cancel unconditionally.
  • #18853 fix case where completion inside macro that expands to #[test] was unavailable.

2025-01-06

06 Jan 19:42
3f2bbe9
Compare
Choose a tag to compare

Commit: 3f2bbe9
Release: 2025-01-06 (v0.3.2249)

New Features

  • #18757 add support for updating expect-test, insta and snapbox snapshot tests.
  • #18179 allow excluding specific traits from completion.
  • #18801 show "Go to type definition" actions for generics substitutions on hover.
  • #18821 add support for CoercePointee.

Fixes

  • #18806 (first contribution) re-enable crate graph de-duplication.
  • #18797 (first contribution) generate exhaustive match in "Replace if-let with match".
  • #18758 (first contribution) improve SCIP symbols.
  • #18835 hide synthetic locals from completions.
  • #18791 avoid generating colliding names in "Extract variable".
  • #18794 fix "Fill match arm" producing an extra brace in some proc macros.
  • #18802 use the correct file_id used for ranges for outgoing calls.
  • #18807, #18841 populate cargo config environment variables.
  • #18826, #18848, #18817 properly clear flycheck diagnostics.
  • #18819 fix overflow detection in MIR evaluation.
  • #18843 correctly handle new-style rustc_intrinsic safety.
  • #18845 check the right package in flycheck.
  • #18795, #18820 fix rendering of literals in code blocks.
  • #18836 be more permissive with completion resolve data.
  • #18830 fix custom snippet deserialization.

Internal Improvements

  • #18822 (first contribution) allow targetDir to be an absolute path.
  • #18327, #18852 store token trees in contiguous Vec instead of as a tree.
  • #18809 do not render closure ids in hover messages.
  • #18790 define a quoting mechanism instead of textual AST make.
  • #18805 implement <RaSpanServer as SourceFile>::eq.
  • #18792 decouple proc macro server protocol from the server implementation.
  • #18829, #18831 revert 'revert "disable rustc test metrics"'.

See also the changelog post.

2024-12-30

30 Dec 09:25
59bc7b4
Compare
Choose a tag to compare

Commit: 59bc7b4
Release: 2024-12-30 (v0.3.2237)

New Features

  • #18707 show substitution where hovering over generic things.
  • #18743 unify handling of path diagnostics in hir-ty.

Fixes

  • #18744 (first contribution) treat ; as a terminator rather than part of a glued expression.
  • #18756 add missing enum name when hovering on variant fields.
  • #18778 fix flycheck diagnostics flickering for binary targets.
  • #18784 do not merge spans with different anchors.
  • #18789 fix invalid -O flag used by cfg discovery.
  • #18722 rename rust-analyzer.statusBar.documentSelector to showStatusBar, add always and never options.

Internal Improvements

  • #18774 implement parameter variance inference.
  • #18718 standardize iterator passing in SyntaxFactory.
  • #18760, #18762 work around leaking salsa cycles.
  • #18761 swallow config value is not set Cargo error.
  • #18754 clean up target fetching for Cargo metadata.
  • #18785 clean up toolchain info fetching.
  • #18750 revert "disable rustc test metrics".
  • #18787 automatically cancel CI checks on new push to PR.

See also the changelog post.

2024-12-23

23 Dec 08:42
fa4a40b
Compare
Choose a tag to compare

Commit: fa4a40b
Release: 2024-12-23 (v0.3.2228)

New Features

  • #18696 report unresolved idents for implicit captures in format_args!().

Fixes

  • #18723 fix a case where completion was unable to expand a tracing macro.
  • #18699 fix path-qualified auto-importing completions not working with re-exports.
  • #18729 clear flycheck diagnostics more granularly.
  • #18741 delay initial flycheck until after build scripts.
  • #18726 reduce applicability of the unnecessary_async assist.
  • #18695 improve name suggestion for destructure_tuple_binding.
  • #18690 use string literal contents as a name when extracting into variable.
  • #18700 fix unresolved_field when a keyword is used as a field.
  • #18708 fix pretty-printing of @ patterns.
  • #18714 do not ask the client to resolve for non-existent label details.
  • #18716 consider both completion detail fields in to_proto.
  • #18727 fix "tried adding a runnable pointing to a different file" panic.
  • #18739 don't trigger parenthesis wrapping typing handler after identifiers.
  • #18740 fix empty check diagnostics not marking files as changed.
  • #18738, #18742 properly test if workspace flychecking is allowed.
  • #18711 don't mark &raw of deref as unsafe.

Internal Improvements

  • #18715 (first contribution) fix AsmOption rule in rust.ungram.
  • #18731 revert "drop proc macro server support for 1.66 and older toolchains".
  • #18698 don't serialize empty fields in completion and resolve payloads.
  • #18713 cleanup label structure of CompletionItem.
  • #18717, #18735 set result_id for pull diagnostics.
  • #18697 simplify ratoml test directory handling.
  • #18728 use serde_derive intead of derive feature.
  • #18710 remove salsa from proc macro server dependency tree.

See also the changelog post.