Changelog #56

Commit: 5e2935e
Release: 2020-12-21

Sponsors

Become a sponsor: On OpenCollective or GitHub Sponsors.

New Features

  • #6779 upgrade to LSP 3.16. Note, this is sadly not as backwards compatible as we would like, if you see errors during project loading, please stick to the previous version of rust-analyzer until the next release.

  • #6907 support goto definition, reference search and rename for lifetimes.

  • #6934 support cfg_attr.

  • #6874 support module_path!() built-in macro.

  • #6861 generate Default for enum.

  • #6897 basic support for macros 2.0.

  • #6922, #6946 better ordering of auto-importing completions.

  • #6932 detect when both rust-lang.rust and matklad.rust-analyzer extensions are active and suggest to disable one.

Fixes

  • #6885 actually ship language configuration with VS Code extension.

  • #6889 fix false positive macro diagnostic on asm! and llvm_asm! macros.

  • #6886 expand statements for macros in lowering.

  • #6894 parenthesize composite if condition before inverting in invert-if assist.

  • #6909 avoid querying attributes in item tree lowering.

  • #6912 default to host platform for cargo metadata.

  • #6901 fix a couple of proc-macro related panics.

  • #6929 handle $_ in declarative macros.

Internal Improvements

  • #6817 replace goblin crate with object.

  • #6862 add lifetimes to the the internal code representations.

  • #6893 treat macro_rules! as a special syntax and not as a macro call.

  • #6879 make HasChildSource generic over the type of child.

  • #6906 document GitHub organization permissions and privileges.

  • #6896 node-ify lifetimes.

  • #6911 don’t pass db around so often.

  • #6916, #6930 privatize hir-level API.

  • #6919 rewrite "run this doctest" functionality.