Changelog #11

Commit: 5b703bd
Release: 2020-02-10

New Features

  • #3053 VS Code extension now tries to automatically download the latest release. Additionally, the extension is now published to the Marketplace (link). Note that if you want to continue using rust-analyzer build from sources, you need to add

    1
    2
    3
    
    {
          "rust-analyzer.raLspServerPath": "ra_lsp_server"
    }
    

    to settings.json

  • #2981 changed the way onEnter handler works in VS Code. We no longer register a custom ontype command. Instead, we provide a shortcut, bound to Enter. If you have enableEnhancedTyping: false in you settings, you’ll want to disable this shortcut.

  • #3050 implement argument-position impl Trait again (support for impl Trait was removed with the Chalk upgrade last week). Return-position impl Trait support will still have to wait for Chalk.

  • #2911 display errors from the lexer.

  • #2962 groundwork for use Trait as _ syntax.

  • #2948 Add Explicit Type assist now can replace _ types.

  • #3040 rework value parameter parsing to use 2018 edition syntax.

  • #3054 move Emacs support upstream.

Fixes

  • #3017 correctly handle crates with - in names.

  • #3044 don’t crash when receiving unknown file for cargo diagnostics.

  • #3047 fix parsing of async unsafe functions.

Internal Improvements

  • #3024 fix leaking observers and promises in VS Code extension.

  • #3001, #3003 reduce the number of TypeScript dependencies.

  • #3018, #3045 refactor some assists to use type-safe AST editing API.

  • #3031, #3034, #3063 refactor auto-import infrastructure.

  • #3069 refactor interface for creating assists groups.

  • #3081 automate release process.

  • #3029 extract ra_ide_db crate to improve compile times and code organization.

  • rust-analyzer.github.io#31 switch changelogs from markdown to AsciiDoctor.

  • Bump NodeJS requirement to 12 (you only need node if you build VS Code extension from source).