IntelliJ Rust Changelog #125
New Features
-
#5535 Provide initial support for debugging with MSVC toolchain in CLion 2020.2. You can track current progress and restrictions here
-
#4640 Enable intelligent highlighting inside macro call bodies when new macro expansion engine is used
-
#5626 Add initial implementation of
Move File
refactoring. The refactoring currently supports moving a single file without submodules. -
#5545, #5506 Now Rust plugin is dynamically loadable on 2020.2. It allows you to install the plugin without restarting the IDE
-
#5614, #5601 Add intentions to convert a method call to UFCS and vice versa (by @Kobzol)
-
#5557, #5561 Add quick fixes to remove unused variable / parameter (by @Kobzol)
-
#5550 Add the quick fix to convert an immutable reference to a mutable one (by @Kobzol)
-
#5609 Update icons for Rust items. Now they are more similar to C/C++ icons. Also, fix visibility modifiers for some items in structure view
Before After -
#5586 Make
Introduce variable
refactoring available as an intention (by @Kobzol) - Add or improve detection of the new compiler errors:
-
#5571 Now highlighting of lint inspection annotations is associated with corresponding lint levels defined by lint check attributes like
allow
,warn
, etc. (by @Stzx) -
#5571 Basic support for
forbid
attribute. Now messages from a forbidden lint are highlighted as errors in the editor (by @Stzx) -
#5313 Allow a user to change mutability of parameters in
Extract Function
dialog (by @Kobzol) -
#5548 Report type errors for references with different mutability even if a type is not fully known (by @Kobzol)
-
#5580 Enable
Convert match statement to if let
intention for irrefutable patterns (by @Kobzol) -
#5579 Show unique editor tab names for
main.rs
,lib.rs
andCargo.toml
(by @Kobzol) -
#5533 Improve text for
Convert to type
quick fix (by @Kobzol) -
#5354 Update
Wrong type arguments number
inspection (by @Kobzol) - #5462 Replace
Remove all type arguments
quick fix withRemove redundant type arguments
quick fix (by @Stzx)
Fixes
-
#5603 Take into account namespaces when name shadowing occurs. For example, now
use anyhow::anyhow
doesn’t break name resolution -
#5599 Fix false positive about not allowed
impl Trait
in associated type binding (by @Kobzol) -
#5466 Fix false positive for
Match must be exhaustive
error (by @Mcat12) -
#5381 Fix usage replacement in
Extract Enum Variant
refactoring (by @Kobzol) -
#5633 Support tuple struct fields in
Make public
quick fix (by @Kobzol) -
#5570 Make
Self
inside impl of enum to be resolved to both impl and enum items (by @fan-tom) -
#5547 Don’t trigger
Main function not found
inspection if the file has top-level errors (by @Kobzol) -
#5538 Fix
Go to Declaration
from associated type bindings on 2020.2 -
#5574 Fix parentheses completion for Fn* traits (by @Kobzol)
-
#5528 Liveness analysis takes into account destructured struct fields (by @Kobzol)
-
#5523 Fix
Join Lines
action for doc comment lines (by @Stzx) -
#5515 Disable
Promote Module to Directory
andDowngrade Module to File
refactorings for invalid files in the editor (by @Kobzol) -
#5623 Fix
#[macro_export(local_inner_macros)]
when used with the experimental macro expansion engine -
#5597 Fix macro expansion infinite progress on 2020.2
-
#5640 Properly render types in annotations on 2020.2
-
#5611 Properly escape text in a test output pane
-
#5549 Get rid of options to disable the Test Tool window
-
Fix some exceptions:
Internal Improvements
Full set of changes can be found here