Skip to content

Releases: rust-lang/rust-analyzer

nightly

21 Dec 00:36
a0d9dd8
Compare
Choose a tag to compare
nightly Pre-release
Pre-release
Merge pull request #18731 from rust-lang/revert-18670-push-ylomnylswnxm

Revert "internal: Drop proc-macro server support for ~1.66.0 and older toolchains"

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.

2024-10-28

28 Oct 06:15
3b3a87f
Compare
Choose a tag to compare

Commit: 3b3a87f
Release: 2024-10-28 (v0.3.2162)

A Note on Windows Artifacts

The next release will stop including .gz artifacts for Windows.
These are harder to use than the .zip ones, which should be used instead.

New Features

  • #18294 (first contribution) support Option in "Wrap/Unwrap return type".
  • #18362, #18370 (first contribution) support "Go to definition" on range operators and patterns.
  • #18359 (first contribution) add option to not start the server on initialization.
  • #18264 implement mixed-site hygiene.
  • #18404, #18408 implement pull model for diagnostics.
  • #18349 render aliased type documentation when alias doesn't have any.
  • #18418 split macro-error diagnostic so users can ignore parts of it.

Fixes

  • #18407 (first contribution) fix formatting on welcome page.
  • #18376 add text edits to more inlay hints.
  • #18361 fix token downmapping failing for include! inputs.
  • #18254 nail destructuring assignment down once and for all.
  • #18337 don't show private items from modules nested in blocks in completions.
  • #18360 improve completions for extern blocks.
  • #18371 fix parsing of use bounds.
  • #18388 Fix checking for false labelDetailsSupport value.
  • #18395 add missing target_has_atomic and target_has_atomic_load_store cfg flags.
  • #18390 prevent public re-exports of private items.
  • #18417 correctly handle #"" before the 2024 edition.
  • #18419 put leading | in patterns under OrPat.
  • #18415 mark "Remove dbg!" as a quick fix for better prioritization.
  • #18366 fix Markdown display in status bar message.
  • #18399 respect config to disable native diagnostics.
  • #18386 don't crash when local time offset is unavailable.

Internal Improvements

  • #18372 (first contribution) switch CI from bors to merge queues.
  • #18373 merge separate inlay hints targeting the same range.
  • #18391 log original syntax on panic.
  • #18394, #18396 pretty-print Config in "Status" command.
  • #18402 improve proc macro error message for failed build scripts.
  • #18410 invert token iteration order in macro mapping.
  • #17954 update rustc-hash to version 2.
  • #18392 swap query call order in file_item_tree_query to help with caching issue.
  • #18409 only construct a resolver during macro descension when needed.
  • #18368 add test for LSIF macro-generated constants.
  • #18405 update changelog generation for merge queues.

See also the changelog post.

2024-10-21

21 Oct 06:31
Compare
Choose a tag to compare

Commit: 9323b53
Release: 2024-10-21 (v0.3.2154)

New Features

  • #18152 highlight exit points of async blocks.
  • #18291 respect references.excludeTests in Call Hierarchy.
  • #18350, #18354 add initial support for safe in extern blocks.
  • #18292 support renaming self parameters in functions.

Fixes

  • #18265, #18320 (first contribution) add support for LLDB-DAP.
  • #18226 (first contribution) fix parsing of use in generic parameters.
  • #18229 (first contribution) make rustfmt.overrideCommand relative to project, not workspace root.
  • #18336 (first contribution) increase macro expansion token limit once more.
  • #18278 do not consider matching of places that evaluate to ! to diverge, and disallow coercions from them.
  • #18217 stop doing cast checks for unknown pointer kinds.
  • #18252 do not consider mutable usage of deref to *mut T as deref_mut.
  • #18299 fix Ok wrapping quick fix for return statements.
  • #18275 don't expand #[test_case].

Internal Improvements

  • #18242 don't resolve extern crates in import fixed point resolution.
  • #18216 return structs instead of tuples from OpQueues.
  • #18331 support more trivial types in is_sized check.
  • #17990 use local time when formatting logs.
  • #18243, #18300 clamp LSP columns to line length.
  • #18328 fix running analysis-stats against the standard libraries on CI.
  • #18335 fix .editorconfig glob.

See also the changelog post.