New Features

  • #9412 Support 2022.3 EAPs

  • #9308, #9336 Complete custom derive procedural macros and automatically add imports for out-of-scope ones

  • #7597 Automatically import unresolved items after pasting Rust code into the editor. You can disable this behaviour via Insert imports on paste option in Preferences | Editor | General | Auto Import | Rust settings (by @Kobzol)

  • #5866 Add Wrong associated type arguments inspection to check associated type bindings, in particular E0191 and E0220 compiler errors (by @Kobzol)

  • #9153 Add Add import for path in pattern intention to import constants in match patterns

  • #9335 Provide Create associated function intention for paths like Self::func()

  • #9376 Drop support for 2022.1 platform. Upgrade your IDE to 2022.2 to get new updates of the plugin

Fixes

  • #9461 Fix sporadic false positive errors and absense of completion related to plugin’s inability to find proper impl block. The bug was introduced by #9229 in previous release

  • #9434 Don’t prioritize functions that return ! type (e.g. panic()) in completion list

  • #9428 Fix expansion of format macros like println! when the self keyword is used as a parameter name, or when the syntax is incorrect

  • #9293, #9344 Fix change signature refactoring to add imports properly

  • #9313 Completion for function-like procedural macros now properly adds ! and doesn’t show redundant info about token stream argument

  • #9303 Do not suggest Make function async quick-fix for functions returning impl Future

  • #9222 Don’t erase the file content during formatting with rustfmt if the #![cfg_attr(rustfmt, rustfmt_skip)] attribute is presented

  • #9078 Keep the settings for folders that are manually excluded or marked as source roots when reloading the project model

Internal Improvements

  • #9412 Use Java 17 for development

  • #9361 Split RsBaseType into 4 different PSI element types

Full set of changes can be found here