IntelliJ Rust Changelog #154
New Features
- #7640 Improve external ABI support:
-
Parse any literal in ABI name position (including raw strings) and annotate non-string literals as invalid (in the same way as
rustc
does) -
Annotate invalid ABI names and experimental ABIs without the corresponding feature attribute
-
Provide completion for ABI names
-
-
#7682 Detect E0121 in structs and enum variants (by @t-kameyama)
-
#7646 Implement
Expand into separate table
intention to expand an inline TOML table into a full one -
#7666 Show macro 2.0 items in Structure View (
Ctrl
+F12
) - #7664 Improve parser recovery for function pointers (by @afetisov)
Performance Improvements
- #7703 Suggest keywords much more quickly during Rust code completion
Fixes
-
#7635, #7676 Take into account type aliases in most of intention actions, quick fixes, and refactorings (by @Kobzol)
-
#7557 Reduce the number of false-positive annotations caused by
Self convention
inspection (by @Kobzol) -
#7692 Do not substitute type alias names for associated types in inlay hints like
Chained method
(by @Kobzol) -
#7690 Import types after invoking
Create function
,Create struct
andCreate tuple struct
intentions (by @Kobzol) -
#7711 Fix some quick-fixes and intentions to make them work with aliased types properly. For example,
Convert to String using `ToString` trait
quick-fix now works even when the expected type is an alias forString
type -
#7638
Surround with unsafe
inspection now works identically inside statements and tail expressions -
#7598 Display implied shortcut reference links in quick documentation (by @shocoman)
-
#7582 Don’t show a completion popup automatically when typing a
let
binding identifier starting with a lowercase letter. You still can invoke the completion explicitly (usingCtrl
+Space
, for example) -
#7668 Do not offer the
Make public
quick-fix on method calls from trait impls (by @Kobzol) -
#7614 Allow removing
Build
step in Cargo Command configurations
Internal Improvements
- #7711 Introduce
Ty.isEquivalentTo(Ty)
forTy
s comparison. Unlike==
, it ignoresaliasedBy
field
Full set of changes can be found here