IntelliJ Rust Changelog #156
This is the last release that supports the 2021.1 IDEs. To receive plugin updates further, please upgrade your IDE to 2021.2.
New Features
-
#7317 Enable WSL support by default. Now you can choose a WSL toolchain during project creation or in
Preferences | Languages & Frameworks | Rust
settings, which will be used for build and run viacargo
, code formatting viarustfmt
, on-the-fly code analysis viacargo check
orclippy
, code coverage viagrcov
, etc. Debugging works only in CLion and you need to configure a WSL toolchain inPreferences | Build, Execution, Deployment | Toolchains
settings. Also, Valgring Memcheck and Profiling integrations are not supported yet.
Note, we use UNC paths (\\wsl$\...
) for WSL toolchains, so you need at least version 1903 of Windows 10 -
#7488 Add debugger option to break on panic. The option is enabled by default. You can disable it via
Break on panic
option inPreferences | Build, Execution, Deployment | Debugger
settings in case of any problem (by @Kobzol) -
#7550 Support finding usages in child modules in
Unused import
inspection. Note, the inspection is disabled by default due to some false positives. You can enable it in inspection settings. -
#7805 Remove
Extract dependency specification
intention in favor of more genericExpand into separate table
intention from TOML plugin
Performance Improvements
-
#7818 Optimize macro expansion — now procedural macros are expanded in parallel
-
#7841 Avoid IDE freeze in certain situations when invoking
Remove
quick-fixes or intentions on elements with syntax errors (by @Kobzol)
Fixes
-
#7809 Use correct prelude for 2021 edition
-
#7795 Fix parsing of const generic arguments and const generic defaults
-
#7804 Generate generic bounds and
where
clauses when creating inherentimpl
items inExtract function
refactoring (by @Kobzol) -
#7831 Don’t show the E0046 error for negative trait impls (by @Kobzol)
-
#7806 Insert import at correct location during auto-import
-
#7827 Fix that glob import can override named items in some cases
-
#7819 Fix incorrect name resolution in some cases when there is both
cfg
-disabled andcfg
-enabledmod
with the same name -
#7824 Improve completion of macro 2.0, i.e. insert
!
and proper braces (based on documentation) if needed -
#7823 Improve documentation rendering for macro 2.0 as well as external link generation and resolution
-
#7834 Don’t highlight string literals in macros as exit points
-
#7810 Fix showing completion autopopup when typing
let mut
with existing ident (let /*typing mut here*/foo = 1;
) -
#7876 Fix Rustup availability check on WSL
-
#7869 Reset “Standard library” path on switching on a WSL toolchain in Rust settings
Internal Improvements
- #7828 Move development of TOML plugin into intellij-community repository to simplify integration for other technologies. Note, the plugin is still free and open-source
Full set of changes can be found here