Skip to content

Releases: rust-lang/rust-analyzer

nightly

01 Jan 00:38
085ad10
Compare
Choose a tag to compare
nightly Pre-release
Pre-release
Merge pull request #18797 from profetia/issue10583

Fix replace-if-let-with-match generates non-exhausive match

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.

2024-11-18

18 Nov 06:57
ba56d9b
Compare
Choose a tag to compare

Commit: ba56d9b
Release: 2024-11-18 (v0.3.2188)

Fixes

  • #18503 use item indices instead of attribute matching when resolving completions.
  • #18519 use correct file in related documents diagnostics.

Internal Improvements

  • #18495 migrate reorder_fields assist to use SyntaxFactory.
  • #18482 add public direct_supertraits and all_supertraits accessors to hir::Trait.

See also the changelog post.

2024-11-11

11 Nov 07:03
30e71b6
Compare
Choose a tag to compare

Commit: 30e71b6
Release: 2024-11-11 (v0.3.2180)

New Features

  • #18473 include extern blocks and macros in file outline.

Fixes

  • #18475 support new #[rustc_intrinsic] attribute and fallback bodies.

Internal Improvements

  • #18493 (first contribution) update supported debug engines in configuration.
  • #18486 change minimum VS Code version from 1.78 to 1.83.

See also the changelog post.

2024-11-04

04 Nov 09:33
a341d59
Compare
Choose a tag to compare

Commit: a341d59
Release: 2024-11-04 (v0.3.2172)

New Features

  • #18312 (first contribution) include let statements in file outline.
  • #18420 support +#[cfg(true)]+ and +#[cfg(false)]+.
  • #18469 show static values on hover.
  • #18470 allow interpreting consts and statics with the Interpret command.
  • #18385 add assist to generate a type alias for a function.

Fixes

  • #18436 only render type layout info on definitions, not usages.
  • #18422 properly resolve prelude paths in modules inside blocks.
  • #18413 allow public re-exports of extern crate imports.
  • #18432 honor diagnostic refresh capability.
  • #18382 fix flyimport for aliased functions and modules.
  • #18446 only parse safe as a contextual keyword in extern blocks.
  • #18453 fix parsing of patterns with leading |.

Internal Improvements

  • #18304 (first contribution) add developer setup instructions.
  • #18437 (first contribution) publish test-fixture as ra_ap_test_fixture.
  • #18256 (first contribution) start using Option::is_none_or.
  • #18074 build source map for hir_def::TypeRefs.
  • #18427 clean up TypeRef lowering.
  • #18447 avoid interior mutability in TyLoweringContext.
  • #18448 move child_by_source from hir-def to hir.
  • #18421 move text-edit into ide-db.
  • #18412 stop producing .gz artifacts for Windows.

See also the changelog post.