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 | Rustsettings, which will be used for build and run viacargo, code formatting viarustfmt, on-the-fly code analysis viacargo checkorclippy, code coverage viagrcov, etc. Debugging works only in CLion and you need to configure a WSL toolchain inPreferences | Build, Execution, Deployment | Toolchainssettings. 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 panicoption inPreferences | Build, Execution, Deployment | Debuggersettings in case of any problem (by @Kobzol) 
- 
    #7550 Support finding usages in child modules in Unused importinspection. Note, the inspection is disabled by default due to some false positives. You can enable it in inspection settings. 
- 
    #7805 Remove Extract dependency specificationintention in favor of more genericExpand into separate tableintention 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 Removequick-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 whereclauses when creating inherentimplitems inExtract functionrefactoring (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-enabledmodwith 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 mutwith 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