IntelliJ Rust Changelog #142
New Features
-
Debugging is now available in PyCharm Professional starting with 2021.1 EAPs. Note, it requires Native Debugging Support plugin and supports only LLDB
-
#6877, #6835 The Native Debugging Support plugin is now being suggested when you try to debug your Rust code in PyCharm Professional and GoLand
-
#6807
Change Signature
refactoring (Refactor | Change Signature
or Ctrl+F6) now allows you to specify a default value for new parameters (by @Kobzol) -
Suggest installing
wasm32-unknown-unknown
target if it is not installed yet when you try to executewasm-pack
run configuration
Fixes
- Improvements in new name resolution engine:
-
#6734 Fix name resolution of macro calls inside file included by
include!
macro -
#6730 Support file-level
cfg
attributes -
#6721 Support name resolution to multiple inline modules
-
#6720 Fix name resolution inside
cfg
-disabled inline modules -
#6773 Use old name resolution in test/bench non-workspace crates
Note, you can enable the new engine via
Use experimental name resolution engine
option inPreferences | Languages & Frameworks | Rust
settings -
- Refactoring improvements:
-
#6874 Properly handle default type arguments in
Extract Function
(Refactor | Extract Method
or Ctrl+Alt+M) refactoring -
#6005 Delete redundant imports properly when performing
Inline Function
(Refactor | Inline...
or Ctrl+Alt+N) refactoring on a function declared in a different module (by @SaarYogev) -
#6695 Properly handle
where
clauses when converting between structs and tuples usingConvert to block/tuple struct
-
-
#6869 Fix fetching info about items generated by build scripts. Note, the corresponding feature work only when
org.rust.cargo.evaluate.build.scripts
experimental feature is enabled -
#6855 Do not show incorrect move errors on a function pointer type used as a type parameter
-
#6848 Support detecting E0116 “Inherent implementation defined for a type outside the current crate” for impls for trait objects
-
#6786 Take
cfg
attributes into account when performing control-flow analysis -
#6655 Fix movement of match arms inside closures when performing
Move Statement
actions (by @t-kameyama) -
#4765 Ignore underscore imports during duplicates detection
-
#6846 Properly change state of optional dependencies in
Cargo.toml
tables - #6818 Fix crate registry index parsing when using experimental local crates index. This feature is disabled by default
for now. To use it, enable
org.rust.crates.local.index
experimental feature
Internal Improvements
- #6459 Add Python typings for our LLDB/GDB pretty-printers to enable code analysis and completion in the
prettyPrinters
module
Full set of changes can be found here