Changelog #15

Commit: 5770fa7
Release: 2020-03-09

Heads up: this update requires VS Code 1.43.0. In general, rust-analyzer requires the latest version of VS Code at the moment.

New Features

  • #3513 code completion in macro calls.

    76160803 92a60d80 612d 11ea 8b51 9566cbb4c773
  • #3432 insert argument snippets when completing function calls.

    76219227 cd837080 6215 11ea 8d0d a9447b1d26b1

    Insertion of snippets is controled by completion.insertion.add-argument-snippets feature flag.

  • #3498 when completing function call, trigger parameter hints automatically.

  • #3500 more concise mode for parameter hints:

    76219505 39fe6f80 6216 11ea 9bc2 f2591388c5e6

    It is controlled by call-info.full feature flag.

  • #3392 support for eager concat! macro.

  • #3456 publish nightly binary releases: releases/tag/nightly.

  • #3474 on start up, initiate analysis of files even if there were no explicit requests for it.

  • #3490 support aliases and Self in struct literals.

  • #3494 implement include! macro.

  • #3499 resolve Self::AssocTy in impls.

  • #3516 account for visibility during code completion.

  • #3514 flag to update the server binary automatically, without asking.

  • #3519 hover on item now includes full module path.

Fixes

  • #3378 fix inlay hints to work correctly in VS Code for several opened editors.

  • #3388 don’t show wrong inlay hints in a diff view.

  • #3430 use correct name when completing re-exported functions.

  • #3509 disallow include! macro to include itself.

  • #3520 don’t show trivial type hints for unit structs.

  • #3526 silence "Rust file outside current workspace" warning.

Internal Improvements

  • #3502 don’t cache Chalk solver. Counter-intuitively, this allows improves performance by allowing caching elsewhere.

  • #3405, #3427, #3428 refactor reference and definitions to better accommodate edge cases like field init shorthand.

  • #3440, #3426, #3443 refactor reference search infrastructure.

  • #3413 update chalk.

  • #3425 fix macro expansion for a single dollar.

  • #3458 add cargo xtask dist for building the distribution package.

  • #3489 make sure that during expression lowering every non-missing expression gets a source.

  • #3487 add some editing API for manipulating use statements.

  • #3497 specify additional label on profiling calls, to see, for example, which functions are slow to typecheck.