New Features

  • This update brings a significant performance improvement, like plugin cache subsystem was reworked. In combination with other micro optimizations, it greatly speeds up name resolution and type inference. Note, these changes will have a greater effect with the new experimental macro expansion engine because it’s more cache-friendly. You can turn it on via Preferences | Languages & Frameworks | Rust | Expand declarative macros option
  • Make Toml plugin mandatory dependency of Rust plugin. If you still don’t have it, IDE will suggest installing Toml plugin while updating

  • Update the Rust page in CLion help

  • Support concat macro. Now name resolution and completion work for direct arguments of the macro like env!. Also, value of the macro is taken into account while path evaluation inside include macro call. It’s yet another step to support code included via macro call like include!(concat!(env!("OUT_DIR"), "/bindings.rs"))
  • Associated functions have higher priority than methods in completion list for paths like module::Struct::

Fixes

  • Fix false positive Trait objects without an explicit 'dyn' are deprecated warnings for Self type parameters
  • Fix name resolution of items from prelude with nightly compiler
  • Fix IndexNotReadyException while indexing pub extern crate items
  • Correctly insert use item by Auto Import quick fix inside public inline modules
  • Fix incorrect name resolution of const generic parameters
  • Correctly set focus on name field in Extract method dialog (by @gejun123456)

Internal Improvements

  • Make 2019.2 default platform for development