Changelog #25

Commit: 31611da
Release: 2020-05-18

New Features

  • #4397 implement a basic TextMate grammar which plays better with our semantic highlighting.

  • #4358 ifl postfix template for Result and Option

    82217445 b7331880 991a 11ea 8e9a 698e3dc07106
  • #4423 tmod item-level snippet.

    82217447 b8644580 991a 11ea 87e1 a8c61d21583f
  • #4273 Add Visibility assist now works on paths, adding a visibility to an item in other module:

    82217439 b39f9180 991a 11ea 92e9 f162c41debc6
  • #4448 Generate Launch Configuration command to save debug configurations for specific tests:

    82217442 b601eb80 991a 11ea 99dd b0c2bba786c8
  • #4436 use .rust sufix on TextMate scopes introduced by rust-analyzer for easier theming.

  • #4427 use Ubuntu 16.04 to build releases, to get older glibc.

  • #4400, #4473 improve syntax higlighting, underline mutable bindings in all themes.

  • #4455 in completion, prioritise locals with correct types.

  • #4288 initial implementation of renaming of self parameter, for switching between associated function and a method.

  • #4479, #4484 support for dyn Trait.

  • #4489 reduce allocations, improving performance for batch analysis for up to 4%.

  • #4496 we now support two latest versions of VS Code.

Fixes

  • #4421 fix visibility handling in find references.

  • #4403 check client capabilities before sending progres notifications.

  • #4447 make sure that play arrow in Run lens is not emoji-ifyied.

  • #4431 don’t garbage-collect results of procedural macro expansion, to combat non-deterministic proc macros. Please avoid randomized hash maps when writing procedural macros :-)

  • #4470 handle Self in values and patterns.

  • #4472 fix path resolution for module and function with same name.

Internal Improvements

  • #4424 use RA_LOG variable to enable rust-analyzer’s logging, so as not to conflict with usual RUST_LOG.

  • #4083 document rust-analyzer’s AST.

  • #4405 make some internal types public so that rust-analyzer is easier to use as a library.