Changelog #78

Commit: 495c958
Release: 2021-05-24

Sponsors

Become a sponsor: On OpenCollective or GitHub Sponsors.

New Features

  • #7698, #8877 (first contribution) add new LSP extension for workspace symbol lookup.

  • #8873 implement import granularity guessing.

  • #8948 "Generate getter" assist places the cursor at the generated function.

  • #8953 "Generate getter" avoids generating types like &Vec<T>.

Fixes

  • #8345 (first contribution) add pub mod option to the "Unlinked file" diagnostic fix.

  • #8766 (first contribution) add async if required in "Extract function" assist.

  • #8945 make expected type work in more situations:

    119269023 dd5a5b00 bbf5 11eb 993a b6e122c3b9a6
    119269025 dfbcb500 bbf5 11eb 983c fc415b8428e0
  • #8795 allow semantic tokens for strings to be disabled.

  • #8858 ignore macro imports from extern crate self.

  • #8863 don’t add extra whitespace around fields.

  • #8880 fix module renaming.

  • #8875 avoid false positive "Missing match arm" when an or-pattern has mismatched types.

  • #8884 fix "Add explicit type" producing invalid code on @ patterns.

  • #8893 update outdated auto-import documentation.

  • #8902 fix code completion not inserting borrow text when client supports InsertAndReplace.

  • #8910 don’t hang on unresolved attribute on extern block and its children.

  • #8918 fix hang caused by non-unique attribute IDs.

  • #8901 speed up fill_match_arms on tuples of large enums.

  • #8935 mention rust-tools.nvim for nvim-lsp in the manual.

  • #8936 improve nightly downloads with better local state management.

  • #8940 give unsafe semantic token modifier to unsafe traits.

  • #8947 correctly resolve crate name in use paths when import shadows it.

Internal Improvements

  • #8856, #8921, #8938 use Chalk for unification.

  • #8862 reorganize module structure of fixits.

  • #8871 simplify DefCollector::resolve_macros.

  • #8882, #8887, #8888 resolve attributes in name resolution (minimal version).

  • #8885 greatly simplify eager macro representation.

  • #8889 track in-scope derive helpers during name resolution.

  • #8898 resolve derive helpers.

  • #8900 support #[register_attr] and #[register_tool].

  • #8914 remove StructDefKind.

  • #8916, #8932 implement ItemTree pretty-printing.

  • #8868 replace AstTransformer with mutable syntax trees.

  • #8922, #8923, #8924 add more docs.

  • #8926 drop uncompressed release artifacts and those following the old naming convention.

  • #8954 document ItemTree design.