New Features

  • #4210, #4190, #4183, #4182, #4181, #4179 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 on 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

  • #4121 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

  • #4194 Support concat macro. Now name resolution and completion work for direct arguments of the macro like env!. Also, the 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"))

  • #4206 Add completion of const keyword for const generics

  • #4195 Associated functions have higher priority than methods in completion list for paths like module::Struct::

Fixes

  • #4175 Fix false positive Trait objects without an explicit 'dyn' are deprecated warnings for Self type parameters

  • #4226 Fix name resolution of items from prelude with nightly compiler

  • #4213 Fix IndexNotReadyException while indexing pub extern crate items

  • #4177 Correctly insert use item by Auto Import quick fix inside public inline modules

  • #4202 Fix incorrect name resolution of const generic parameters

  • #4184 Correctly set focus on name field in Extract method dialog (by @gejun123456)

Internal Improvements

  • #4188 Make 2019.2 default platform for development