Skip to content

Releases: rust-lang/rust-analyzer

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.

nightly

09 Jan 00:37
32b86a8
Compare
Choose a tag to compare
nightly Pre-release
Pre-release
Merge pull request #18884 from Veykril/push-xwqkorxozzkq

fix: Fix `env`/`option_env` macro check disregarding macro_rules definitions

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.

2024-12-16

16 Dec 07:31
27e824f
Compare
Choose a tag to compare

Commit: 27e824f
Release: 2024-12-16 (v0.3.2220)

New Features

  • #18670 drop proc macro server support for 1.66 and older toolchains.
  • #18458 add diagnostic fix to remove unnecessary Some or Ok wrapper on type mismatch.
  • #18652 add "Extract into constant" assist.

Fixes

  • #18667 (first contribution) fix "Replace #[derive()]` when snippet text edits are disabled.
  • #18653 hash completion items to properly match them when resolved.
  • #18645 allow uninhabited non-exhaustive structs.
  • #18663 swallow rustfmt parsing panics.
  • #18660 clean up copied proc macro libraries on exit.
  • #18675 fix panic when displaying generic params with defaults, again.
  • #18684 re-enable snippet text edits capability.
  • #18656 preserve order of parameters in "Extract function".
  • #18674 show expansion errors in "Expand macro at caret".
  • #18466 properly handle different defaults for severity of lints.
  • #18668 fix source root construction for virtual manifests.

Internal Improvements

  • #18643 rename test fixture crates to ra_test_fixture.
  • #18644 remove cfg-if patching hack.
  • #18647 disable pipe in typing handler.
  • #18657 migrate generate_enum_variant assist to SyntaxEditor.
  • #18531 map new replacement nodes to their mutable equivalents in SyntaxEditor.
  • #18669 only parse the object file once in proc-macro-srv.
  • #18677 implement naked_asm! built-in.
  • #18672 simplify dummy proc-macro-srv.
  • #18694 show MIR eval errors on hover when debug environment variable is set.
  • #18693 fix proc-macro library names on Windows.
  • #18441 try not cache the config directory path.

See also the changelog post.

2024-12-09

09 Dec 07:07
4c755e6
Compare
Choose a tag to compare

Commit: 4c755e6
Release: 2024-12-09 (v0.3.2212)

New Features

  • #18541 add infrastructure and a first type lowering diagnostic.
  • #18609 report union field accesses and inline assembly as unsafe.
  • #18604 complete derive helper attributes.
  • #18594 support AsyncFn traits.
  • #18522 add setting to exclude trigger characters from format-on-type.

Fixes

  • #18610 add implict unsafety inlay hints for extern blocks.
  • #18589 advertise completions and inlay hints resolve based on the client capabilities.
  • #18630 temporarily disable completion resolve support for Helix and Neovim.
  • #18618 fix parsing of integer/keyword name references in various places.
  • #18608 improve parser recovery for paths.
  • #18625 fix parser getting stuck for bad asm expressions.
  • #18593, #18622 fix parsing of parenthesized type arguments and RTN.
  • #18586 inherit environment in debug configurations.
  • #18587 fix syntax fixup inserting unnecessary semicolons.
  • #18555 fix a bug where synthetic AST nodes were looked up in the AST ID map.
  • #18607 fix shadowing of record enum variants in patterns.
  • #18605 fix another glob import name resolution bug.
  • #18611 do not report warnings from proc macros, ever.
  • #18474, #18616 make bracket typing handler work on more things.
  • #18627 improve semicolon insertion typing handler heuristics.
  • #18628 add typing handler for parameter list pipe.
  • #18619 fix panic when displaying generic parameters with defaults.
  • #18620 parse lifetime bounds in lifetime parameters into TypeBoundList.
  • #18621 resolve generic parameters within use captures.
  • #18629 highlight > as part of => in macro_rules! arm.
  • #18633 properly coerce FnDefs to function pointers if they are subtypes.
  • #18592 only show VS Code status bar item in relevant files.

Internal Improvements

  • #18561 (first contribution) add macro expansion test for raw variable names.
  • #18595 remove references to platform-intrinsic ABI.
  • #18483 migrate introduce_named_generic assist to SyntaxFactory.
  • #18538 migrate sort_items assist to SyntaxFactory.
  • #18551 migrate add_turbo_fish assist to SyntaxFditor.
  • #18575 migrate flip assists to SyntaxEditor.

See also the changelog post.

2024-12-02

02 Dec 06:23
b65911d
Compare
Choose a tag to compare

Commit: b65911d
Release: 2024-12-02 (v0.3.2204)

Fixes

  • #18511 re-add rust-analyzer.cargo.sysrootQueryMetadata.
  • #18559 fix stack overflow when computing the sizedness of (co-)recursive types.

Internal Improvements

  • #18577 remove redundant associated type bounds from dyn TypeFolder.

See also the changelog post.

2024-11-25

25 Nov 06:38
327ab29
Compare
Choose a tag to compare

Commit: 327ab29
Release: 2024-11-25 (v0.3.2196)

Fixes

  • #18529 (first contribution) improve selection handling in merge_match_arms.
  • #18459 use snippet placeholders for generated match arms.

Internal Improvements

  • #18485 migrate add_braces assist to use SyntaxFactory.
  • #18521 migrate reorder_impl_items assist to use SyntaxFactory.
  • #18552 fix formatting in "missing rust-src" message.

See also the changelog post.