Changelog #72

Commit: 7be0613
Release: 2021-04-12

Sponsors

Become a sponsor: On OpenCollective or GitHub Sponsors.

New Features

  • #8388 auto-close blocks when typing {:

    114024061 e8d70a00 9873 11eb 89d6 c50296cbf495
  • #8375 show errors from cargo metadata and initial cargo check in the status bar.

  • #8410 support InsertReplaceSupport capability

Fixes

  • #8433 intern lots of things (great for memory usage):

    114185930 f1504300 994e 11eb 8e99 7925c54ab3c3
  • #8406 improve indexing of impls (great for analysis speed):

    114210350 595f5300 9968 11eb 87aa b7835faafdb8
  • #8355 do not drop errors from cargo metadata and cargo check.

  • #8339 fix "Extract variable" assist in guards.

  • #8245 properly resolve intra-doc links in hover and goto_definition.

  • #8371 don’t use HirDisplayWrapper when displaying SourceCode.

  • #8381 lower attributes on tuple fields.

  • #8386 avoid O(n²) when constructing AttrSourceMap.

  • #8389 do not import on the fly inside record literal fields.

  • #8390 support trait impls in unnamed consts.

  • #8392 (first contribution) add space after lifetime in "Expand macro" output.

  • #8394 infer variants through type aliased enums.

  • #8397 (first contribution) improve "still loading" error message.

  • #8412 emit folding ranges for multiline array literals.

  • #8207 offer "Remove `dbg!`" assist on empty calls.

  • #8421 reduce allocations in "Expand macro" formatter.

  • #8426 track recursion limit when expanding custom derive.

  • #8431 add trait member token modifier to associated types.

  • #8440 fix crash on syn involving lifetimes returned by Chalk.

  • #8444 shrink unlinked-file diagnostic to 3 characters.

  • #8447 resolve prelude and crate root names in the root DefMap.

  • #8450 don’t ignore unnamed consts when looking for definitions.

  • #8457 don’t assume wrong binary operator return type when primitives are involved.

  • #8436 fix "Extract function"'s mutability of variables outliving the body.

  • #8463 support macros in pattern position.

Internal Improvements

  • #8334 intern and shrink more data to reduce memory usage.

  • #8337 explain "extract if condition" refactoring.

  • #8326 rewrite "Reorder fields" assist to use mutable syntax trees.

  • #8343 document hypothetical completion problem.

  • #8348, #8353, #8359, #8366, #8419 type inference now uses Chalk’s types everywhere.

  • #8350 prepare to store OpQueue results in the queue itself.

  • #8364 (first contribution) slightly reduce the memory usage of some `enum`s

  • #8374 intern TypeRefs stored in Body.

  • #8376, #8380 infer: remove redundant record_field_resolutions and record_pat_field_resolutions fields.

  • #8379 document broken windows.

  • #8429 add documentation and test for //! doc comment continuation on Enter.

  • #8384 use linear regression to catch accidentally super-linear performance regressions.