New Features

  • Support 2021.1 EAPs
  • Add a quick-fix to remove redundant function call arguments (by @Kobzol)

  • Support async function by Create function intention (by @Stzx)

  • Add Crate not found inspection to check non-existent crates in Cargo.toml. Note, the corresponding feature is disabled by default for now. To use it, enable org.rust.crates.local.index experimental feature (by @Kobzol)

Performance Improvements

  • Fix performance regression in name resolution for large modules

Fixes

  • Improve File | Open action to set up project structure of Cargo project if a project is opened via directory with Cargo.toml

  • New name resolution engine improvements:

    • Enable new name resolution engine on the nightly plugin channel by default

    • Support resolve multi-segment macro paths

    • Fix completion of unqualified macro calls in some cases

    • Fix freeze during rendering of failed test backtrace
  • Fix processing of break/continue inside block expressions during control-flow analysis
  • Fix enum rendering during debugging on Linux with GDB in CLion 2021.1

  • Improvements of Change signature refactoring (Refactor | Change Signature or Ctrl+F6):

    • Apply the refactoring to the called function when invoked on function and method calls (by @Kobzol)

    • Fix auto-import in dialog when using new resolve
  • Fix resolve of methods from super trait in some cases
  • Fix some false-positive E0277 errors
  • Fix exception during loading structure of Cargo workspace with several IDE modules
  • Fix launching Cargo run configurations with arguments for running binary (i.e. arguments after --)
  • Show test hierarchy tree on the client when using Code With Me plugin
  • Show missing Rust block in Preferences | Build, Execution, Deployment | Debugger settings on Windows in IntelliJ IDEA
  • Fix false-positive E0404 “Expected trait, found trait alias”

Internal Improvements

  • Create new milestone automatically during new branch creation

Full set of changes can be found here