Changelog #60

Commit: fde4a86
Release: 2021-01-18

Sponsors

Become a sponsor: On OpenCollective or GitHub Sponsors.

New Features

  • #7220 same level folder rename renames module.

  • #6809 add quick fix to sort impl methods by trait definition:

    104917483 83762a00 59a4 11eb 9797 34aaee609497
  • #7289 add Unmerge Use assist:

    104919876 02b92d00 59a8 11eb 9403 cf5ec30c4592
  • #7260 render Fn* trait objects and impl types as rust does.

  • #7209: support yield keyword syntax.

  • #7271, #7274 publish the arena library used in rust-analyzer to crates.io: https://crates.io/crates/la-arena.

  • #7296, #7300, #7314 improve performance of the syntax tree library.

  • #7311 build aarch64-unknown-linux-gnu releases.

Fixes

  • #7110 deduplicate macros when offering completion.

  • #7235 ifl postfix completion works with &Option<T>.

  • #7251, #7272 improve LSP conformance, don’t split single file edits.

  • #7262 don’t treat rename errors as server crashes.

  • #7264 fix build.rs support in workspaces.

  • #7285 don’t duplicate rustc diagnostics fixes.

  • #7287 make SyntaxPtr lookup logarithmic, resolving some accidentally quadratic issues.

Internal Improvements

  • Establish a steering meeting to discuss overall direction of the project. The meeting is held every sixth Monday at 15:00 UTC in the project’s Zulip. The first meeting is today.

  • #7270 introduce new assertion mechanism: assert_always and assert_never macros. Inspired by https://www.sqlite.org/assert.html.

  • #7051 check for stray dbg! macros.

  • #7219 refactor rename name checking.

  • #7249 add cargo xtask bb to conveniently build rust-analyzer for benchmarking.

  • #7257 vfs documentation.

  • #7288 treat self, super and crate as names.

  • #7295 share import_assets and related entities.