New Features

  • #7922 Support new 2021.3 platform EAPs

  • #7883 Drop support for 2021.1 IDEs. To get new updates of the plugin, upgrade your IDE to 2021.2

  • #7330 Improve the Change signature quick-fix. Now you can also change the parameters types and remove extraneous parameters from the end of the signature (by @Kobzol)

  • #7905 Show build script evaluation errors in Sync View when org.rust.cargo.evaluate.build.scripts experimental feature is enabled. It should simplify diagnostics why features based on compile-time information don’t work as expected

    Build script errors in Sync View

  • #7839 Support new adt_const_params feature for const generics and get rid of the old const_generic feature

  • #7673 Create (tuple) struct intentions now allow filling unknown field types (by @Kobzol)

Performance Improvements

  • #7938 Temporary disable parallel macro expansion introduced in the previous release because it may break code highlighting

Fixes

  • Name resolution fixes:
    • #7860 Fix visibility of publicly reexported item with restricted visibility

    • #7846 Fix some cases when cfg-disabled glob-import affects cfg-enabled one

    • #7886 Fixes that some stdlib crates (e.g. alloc) can be resolved without corresponding extern crate declaration

  • #7903 Generate proper names for run configurations provided by Cargo tool window to be consistent with run configurations created from line markers

  • #7879 Fix procedural macro expansion with Rust 1.56 and Rust nightly. Note, procedural macro expansion is still under development. To turn it on, enable org.rust.cargo.evaluate.build.scripts and org.rust.macros.proc experimental features See tracking issue for more details and the current status.

  • #7870 Show error when defaults for const parameters are used in fns or impls

  • #7792 Show build error balloon over Build tool window instead of Messages one

  • #7766 Make Show the result of macro expansion (cargo expand) intention use dark theme for output if IDE is under dark theme

  • [#7649] Extract function refactoring (Ctrl+Alt+M) refactoring now can be applied when trailing semicolon is selected together with expression

  • Move refactoring fixes:
    • #7837 Add trait imports for UFCS trait method calls in move refactoring if necessary

    • #7651 Do not offer to move a file to the same directory when using drag and drop in the project view

Internal Improvements

  • #7844 We gradually deprecate the old name resolution engine. As a first step, Use new name resolution engine option was removed from settings. Please fill an issue if you encounter any problems with new resolve engine

  • #7836 Drop special parsing rules for try! and await! macros

Full set of changes can be found here