IntelliJ Rust Changelog #145
New Features
-
#6829 Add
Unreachable code
inspection and quick-fix to remove unreachable code -
#6457 Add
Unresolved reference
inspection forCargo.toml
files. The inspection highlights unresolved references inTOML
string literals and provides a quick-fix to create a new file for the corresponding unresolved path.Note, the plugin provides such references for local dependencies, build scripts, workspace paths, and Cargo features. The set of analyzed references can be extended by other plugins (by @Kobzol)
-
#7033 Basic support of resolving to multiple targets at module scope in new new name resolution engine
-
#7005 Annotate wrong order of const generic parameters without
const_generics
feature
Performance Improvements
- #7038 Speedup a
proc-macro
expansion result serialization/deserialization in the macro expansion engine
Fixes
- Improvements in crates local index:
-
#6969 Make dependencies completion in
Cargo.toml
more intuitive and faster when using crates local index. Note, this feature is disabled by default for now. To use it, enableorg.rust.crates.local.index
experimental feature -
#7035 Fix loading crates local index on a nightly Rust toolchain
-
#7031 Fix unnecessary reload of crates local index after IDE restart
-
-
#6890 Don’t show separate nodes for stdlib dependencies when
org.rust.cargo.fetch.actual.stdlib.metadata
experimental feature is enabled -
#7012 Don’t import default type parameters by
Extract Function
refactoring (Refactor | Extract | Method
or Cmd + Alt + M) -
#7026 Omit default type parameters in a
Convert to type
quick-fix text -
#6945 Fix exception in
Move
refactoring (Refactor | Move
or F6) when it was first cancelled and then invoked again -
#6968 Don’t suggest postfix templates inside string literals
-
#7013 Fix type inference for array index operator in Rust 1.50
-
#7007 Fix unification with the never type
!
inmatch
arms -
#7053 Fix name resolution of stdlib items with
cfg
attributes in some cases -
#7051 Fix expansion of procedural macros with non-ASCII literals
-
#7018 Fix processing of
break
/continue
expanded from a macro during control-flow analysis -
#7059 Update LLDB/GDB pretty-printers to render
HashMap
/HashSet
in Rust 1.52 or higher -
#7036 Update GDB pretty-printers to render
BTreeMap
/BTreeSet
in Rust 1.50 or higher - #7019 Improve parser recovery in function arguments
Internal Improvements
- #7042 Now it’s possible to use stdlib API appeared in Kotlin 1.4
Full set of changes can be found here