Changelog #20

Commit: c388130
Release: 2020-04-13

New Features

  • #3875 new release strategy: we now just promote Sunday’s nightly to stable.

  • #3899 enables semantic highlighting by default.

  • #3706, #3884, #3938 show native rust-analyzer’s diagnostics for not exhaustive patterns. As a reminder, all rust-analyzer diagnostics can be disabled with "rust-analyzer.diagnostics.enable" setting.

  • #3925 Reorder record fields assist to sort the fields in the declaration order.

    79140307 10f27100 7db8 11ea 9f3b b246a7283bdf
  • #3902 improve documentation for Sublime Text.

  • #3880, #3918 process cfg attributes on fields and methods.

  • #3901, #3910 add more heuristics for hiding obvious param hints.

  • #3905 handle patterns with ellipsis.

  • #3935 generated trait methods now use todo! rather than unimplemented!.

Fixes

  • #3933 fix accidentally quadratic behavior when expanding the include! macro.

  • #3868 fix panic in Chalk.

  • #3872 fix "rust-analyzer.checkOnSave.command" option.

  • #3878 when completing a macro call, don’t add () if they are already there.

  • #3892 fix "parser is stuck" error during macro expansion.

  • #3912 fix parsing of where clauses with Fn traits.

  • #3939 canonicalize paths coming from cargo metadata.

Internal Improvements

  • #3944 speed up type inference by up to 30% percent.

  • #3867 add CI checks for stray `eprintln`s.

  • #3842, #3906, #3920 copy libprocmacro from rustc. We will be using this library to load proc macro dynamic libraries.

  • #3863 use .rast extension for serialized syntax trees in tests. This adds syntax highlighting!

  • #3876 rename complete_scope to hopefully less confusing complete_unqualified_path.

  • #3882 centralize the logic for computing missing struct fields.

  • #3826 when doing syntax highlighting, produce a flat list of ranges.

  • #3909 generate token accessors.

  • #3913 remove allocation from the "least common ancestor" algorithm.

  • #3915 format generated code in a more readable way.

  • #3917 improve tt::Subtree debug print.

  • #3748 implement Chalk’s debug methods using TLS.

  • #3926 align tokens names with syn somewhat.

  • #3940 use actions-rs for cargo audit.

  • #3942 more precise typing of TypeScript config.

  • #3949 cleanup cfg handling.

  • #3951, #3955 simplify and unify grammar for record literals and patterns.