Changelog #23

Commit: 6a48a94
Release: 2020-05-04

New Features

  • #4222 C/C++ for Visual Studio Code extension as an alternative debug engine for Debug Code lens.

  • #4153, #4276, #4278 add support for incremental text synchronization.

  • #4157 we now use x86_64-unknown-linux-gnu instead of x86_64-unknown-linux-musl for binary releases for Linux. The main reason is that our proc-macro impl does not work under musl, as it lacks dlopen.

  • #4207 add Unwrap Block assist:

    80965443 cf7f3f80 8e12 11ea 89e3 972503f30ca7
  • #4270 add completion for derive macros:

    80965765 6cda7380 8e13 11ea 9720 7f0704b8c1cc
  • #4198 complete union fields after dot.

  • #4199 document how to use ale with vim.

  • #4205 improve YouCompleteMe setup instructions for vim.

  • #4236 document Gnome Builder support.

  • #4162 complete associated items on type parameters.

  • #4178, #4227, #4246 show errors for misplaced crate, self and super in paths.

  • #4210, #4244 include function and traits qualifiers in hover.

  • #4167 implement CodeActionKind for assists.

  • #4258 Run action now includes option for testing the current package as a whole.

  • #4234 support local_inner_macros.

  • #4268 auto-import works inside macros.

Fixes

  • #4173 use core instead of std for builtin derive macros.

  • #4183 format specifiers uses a dedicated token type, formatSpecifier.

  • #4184 treat comments beginning with four slashes as regular line comments.

  • #4203 better filtering of qualified enum variants in completion.

  • #4204 if-let to match assists now uses more specific pattern instead of _.

  • #4221, #4225 better support try! macro on 2015 edition.

  • #4231 fix a bunch of false-positives in join-lines.

  • #4253 remove workspaceLoaded setting, it no longer makes sense after we’ve switched to progress

Internal Improvements

  • #4148 simplify profiler implementation.

  • #4196 rebuild rust-analyzer when launching in VS Code.

  • #4208 use semanic info for finding From trait in Add From impl assist.

  • #4119 cache proc-macro dlls.

  • #4219 avoid rustup invocation for non-rustup rust installation.

  • #4223 allow piping and setting env var in the not_bash infra.

  • #4233 accidentally remove "dead" code, which turned out to be very much alive.

  • #4254 restore the "dead" code back.

  • #4220 introduce LowerCtx for correctly dealing with hygiene.

  • #4256 improve formatting of analyzer status text.

  • #4257 refactor grammar for block-like expressions, introduce ast::EffectExpr.