IntelliJ Rust Changelog #140
Please welcome our new documentation 🥳
It covers almost everything about the plugin, from basic how-to-s to detailed feature descriptions ✍️.
And we’ll do our best to keep it up-to-date as the plugin evolves!
Hope you find it helpful!
Also, this is the last release that supports the 2020.2 platform. To receive plugin updates further, please upgrade your IDE to 2020.3.
New Features
-
#5944 Add
Change Signature
refactoring (Refactor | Change Signature
or Ctrl+F6) for functions and methods (by @Kobzol) -
#6563 Introduce
Share in Playground
action to share your code on play.rust-lang.org. You can invoke it viaTools | Rust | Share in Playground
or via context menu -
#5552 Annotate wrong return type of an empty function (by @Kobzol)
-
#6590 Support
Build
tool window forcargo check
andclippy
commands -
#6535 Add an inspection to check whether a Cargo feature has a cyclic dependency on itself
-
#6471
Create Function
intention now supports associated functions (by @Kobzol) -
#6324 Pass
required-features
implicitly to a run configuration -
#6364 Support
min_const_generics
feature (will be stabilized in Rust1.51.0
)
Performance Improvements
Fixes
-
#5475 Show type names in inlay parameter hints for generic enum variants (by @Kobzol)
-
#6650 Show all re-exports of the same item in completion list. Previously, the plugin showed only one suggestion per item which led to hiding alternative ways of importing the item
-
#6501
Import
quick-fix sorts items now: workspace items go first, then stdlib ones, and then the rest (by @gfreezy) -
#6643 Adjust type inference to infer type of allocator type parameter for
Box
andVec
items. See the corresponding RFC about allocator API -
#6636 Take into account
cfg_attr
attribute during experimental compiler features annotation like#![cfg_attr(feature = "nightly", feature(generators))]
-
#6691 Improve dependency completion in
Cargo.toml
(by @Pzixel) -
#6668 Fix
Join Lines
action (Ctrl+Shift+J) in case there is no whitespace between parameters (by @t-kameyama) -
#6684, #6678 Extract only selected statements in
Extract function
refactoring (by @Kobzol) -
#6609 Download stdlib dependencies into IDE system directory instead of
src
directory in toolchain location to avoid unexpected behavior like read-only directory. Note, stdlib dependencies are downloaded by the plugin only whenorg.rust.cargo.fetch.actual.stdlib.metadata
experimental feature is enabled, otherwise the plugin uses hardcoded stdlib structure -
#6580 Do not suggest
Change item visibility
intention in trait impl blocks (by @Kobzol) -
#6685 Correctly resolve method calls (private method in inherent impl vs public trait impl)
-
#6504 Fix working directory when run
cargo test
in debug mode -
#4550 Don’t activate
Build
tool window ifActivate tool window
option of the corresponding run configuration is disabled -
#6702 Allow building different Cargo projects simultaneously
-
#6750 Fix
Build
action in CLion 2020.3.2 -
#6671 Fix endless
Go To Declaration
for invalid self-containing structs
Internal Improvements
Full set of changes can be found here