New Features

  • #6289 Provide completion for Cargo features in Cargo.toml

  • #5933 Introduce Go to generated declaration line marker for wasm_bindgen attribute. Now you can navigate to the generated TypeScript code right from the Rust code when working on WebAssembly projects

  • Move refactoring (Refactor | Move or F6) improvements:
    • #6011 Group items with related impls in Move items dialog

    • #6301 Add trait imports if necessary

    • #6306 Handle generic items properly

    • #6308 Detect E0116 and E0117 compiler errors when moving items to other crate

    • #6307 Check if the target module has an item with the same name when moving items

  • Completion improvements:
  • Compiler errors detection improvements:
  • #6326 Take execution context into account in the Run Anything popup. Now you can specify an execution context by holding down Alt key or by manually choosing a directory

Performance Improvements

  • #6368 Introduce new macro expansion cache shared between different projects. It brings slightly speedup if you open several projects that use the same stdlib or library version. Note, you can turn it off via Registry... | org.rust.lang.macros.persistentCache option

Fixes

  • #6369 Allow language injections in string literals inside macro calls

  • #6298 Fix false positive Unused variable warning in Rust code containing async blocks

  • #6238 Fix false positive Match must be exhaustive error in case of uninhabited types, e.g. empty enums (by @fan-tom)

  • #6207 Do not show Add wildcard pattern intention for empty match expressions

  • #6356 Update GDB pretty-printers to render BTreeMap/BTreeSet on Rust 1.44.0 or higher

  • #6314 Provide proper rustc version by Create New Issue action which allows opening issue in our tracker right from your IDE

  • #6272 Do not load Cargo project structure twice. It makes Cargo projects loading a bit faster

  • #6313 Do not suggest lints in paths completion if path starts with :: (by @Kobzol)

  • #6341 Provide quick documentation for primitive types in stdlib

  • #6291 Allow duplicate parameter bindings for trait methods without a body (E0415 compiler error) (by @Kobzol)

  • #6285 Improve the parser recovering in case of incomplete paths

Internal Improvements

  • #6305 Simplify script for fetching Clippy lints which is used in lints completion (by @Kobzol)

  • #6358 2020.3 platform is default for development now

Full set of changes can be found here