IntelliJ Rust Changelog #111
-
#4635 Extend
cfg
attributes support. Now the plugin takes into account features declared inCargo.toml
of external dependencies. Note, features declared in your workspace and stdlib are still ignored. The corresponding support includes highlighting of “disabled” code with gray foreground and ignoring code that shouldn’t be compiled with the current feature set while code analysis. -
#4643 Equip paths in
Cargo.toml
with completion, navigation, and certain refactorings (for example, rename). Note, it requires the latest Toml plugin version -
#4670 Detect invalid usages of default type parameters (by @rrevenantt)
-
#4673 Move support of
Grazie
plugin to IntelliJ Rust. This integration provides spelling and grammar checks for texts inside your Rust code, for example, in comments and strings literals. Due to some technical reasons, you need to install the latest versions of both plugins to make it work -
#4661 Don’t show default generic types in inlay type hints. Note, this behavior can be configured via
Preferences | Editor | Inlay Hints | Rust | Type Hints | Show obvious types
option -
#4332 Add
Put struct literal fields on separate lines/one line
intention (by @Kobzol) -
#4676 Display info about
impl
block inGo to Implementations
dialog (by @rrevenantt)
Fixes
- Macros support improvements:
-
#4659 Parse macro calls with unbalanced braces better
-
#4665 Fix endless progress bar of macro expansion process
-
#4669, #4656 Make some optimizations of macro expansion processing with experimental expansion engine. In should improve IDE responsiveness while typing and speed up completion inside macro calls
-
#4642 Trigger highlighting update after changes in macro call. Previously, in some rare cases it was required additional changes in editor to rerun highlighting with new macro expansion engine
-
#4653 Avoid unnecessary parens around expressions in macro call expansions
-
- Type inferences fixes and improvements:
-
#4688 Skip impls with
rustc_reservation_impl
attribute while type inference. It should fix some weird type inference results related toFrom
trait -
#4622 Correctly infer type of empty array. It fixes unexpected
Type mismatch
error annotations with[]
literal
-
-
#4684 Fix false positive
Unresolved reference
error annotations forSelf
reference -
#4667 Parse disambiguator
::
in type references likeVec::<[i32; 8]>
correctly. Also, mark::
as useless in such cases and provide quick fix to remove it -
#4655 Consider
test
option is disabled insidecfg
attributes in stdlib. It allows the plugin to ignore such items while name resolution -
#4649 Fix incorrect highlighting of selected item introduced in some previous version
-
#4644 Do not throw exception on
Complete Current Statement
action -
#4634 Apply
Convert to type using 'From' trait
quick fix for unnamed types like(i32, i32)
properly - #4580 Provide
Cannot assign twice to immutable variable
error annotations for secondary assignments to immutable variable with compound operators like+=
Full set of changes can be found here