Changelog #29

Commit: 017331a
Release: 2020-06-15

Sponsors

This week, we’d like to give a shoutout to one of our oldest sponsors: Embark Studios, a Stockholm-based game studio building a platform for the future of gamemaking and striving to support a thriving open-source ecosystem for game development in Rust.

New Features

  • #4683 initial version of semantic syntax highlighting for code inside doc comments.

    83415249 1f0b5800 a41f 11ea 8fa6 c282434d6ff7
  • #4576 Extract Enum Variant to Struct refactoring.

    84659254 6f9ead00 af17 11ea 84ab bea16f160ecf
  • #4822 checkOnSave cargo flags by default are inherited from cargo flags.

  • #4700 add top level keywords completion.

Fixes

  • #4775 goto definition work correctly for fields of enum variants.

  • #4784 correctly handle cfgs from rust-project.json.

  • #4803 parse default unsafe fn.

  • #4811 Unwrap Block works with match arms.

  • #4815 correctly parse <_> paths in patterns.

  • #4834 in field patterns, don’t highlight local binding as a field.

  • #4850 indent chain . even if there’s more stuff afterwards.

  • #4849 make known paths use core instead of std.

  • #4833 separating parsing of for in predicates and types.

  • #4858 prefer shorter paths for external items in auto import.

  • #4857 fix invalid shorthand initialization diagnostic for tuple structs.

  • #4862 re-enable "Warning" diagnostic severity for unused variables.

Internal Improvements

  • #4805 finish JsonProject transition to cfgs from the separate atoms and features.

  • #4810 simplify unwrapping of blocks.

  • #4832 reduce OUT_DIR special casing.

  • #4819 auto import go brrr (add an FST index to ImportMap and use it to speed up auto import).

  • #4843 don’t guess macro expansion crate.

  • #4875 introduce paths crate to track absolutness of path in the type system.