New Features

  • #5459, #6038 Provide Inline refactoring for local variables (Refactor | Inline or Ctrl + Alt + N) (by @Kobzol)

  • #5352, #6037 Provide Generate Getters and Generate Setters actions for struct fields. Actions can be invoked from Generate menu (Code | Generate or Alt + Insert) (by @Kobzol)

  • Improvements of Move refactoring for top-level items (Refactor | Move or F6):
    • #5664 Move related impls together with moved items

    • #5663 Handle editor selection to choose initial items in refactoring dialog

    • #5920 Support reexports

    • #5979 Check visibility conflicts

  • #5505, #6019, #6050 Provide intention to create a function from an unresolved function call (by @Kobzol)

  • #6001 Add project template for procedural macro. Recently we improved New project dialog to support cargo-generate templates. In this release we add @eupn’s template that makes it easy to create a procedural macro project.

  • #5846 Provide command completion for wasm-pack Run Configurations (that was added in the previous release) and Run Anything (double Ctrl)

Performance Improvements

  • #5989, #6012 Don’t expand macros disabled by #[cfg] attributes. This reduces overall macro expansion time

Fixes

  • #5949 Don’t unescape backslashes in Rust test output. Fixes many issues with incorrect test output

  • #6031 Properly resolve re-exports of crate-relative paths (see the corresponding bug)

  • #5864 Fix macro name resolution: macros from local import should shadow macros from crate root

  • #6024 Don’t check name conventions for statics in extern blocks

  • #6008 Exclude build directory of rustc project from IDE index

  • #5998 Don’t annotate format-like macros where format string is generated by macro to avoid false positives (by @Kobzol)

  • #6028 Show No Rust toolchain configured notification in Cargo.toml. Previously this notification was shown only for Rust files

  • #5993 Attach stdarch and backtrace stdlib parts as project dependencies properly. It fixes search inside them. Also, this improves analysis performance for code that uses stdarch

  • #5986 Fix name resolution of nested modules in modules linked to a project with a #[path = ""] attributes from other directories

  • #5966 Fix false positive unresolved reference error if you call trait method via UFCS and trait is not in the scope

  • #5990 Fix exceptions while documentation rendering

  • #5945 Fix exception on build cancel with new Build tool window. You can enable it via org.rust.cargo.build.tool.window option in Experimental Features panel

  • #6032 Disable Substitute associated type intention for type aliases (by @Kobzol)

  • #5959 Fix project creation via cargo-generate template when project name contains underscores _

  • #5929 Use project name instead of directory name as default package name while new project creation (see the issue)

  • #5980 Display Cargo package name instead of project directory name in Cargo tool window and run configurations

Full set of changes can be found here