New Features

  • Completion improvements:
    • #4207 Substitute types for generic items in completion suggestions

    • #4270 Provide keyword completion inside trait and impl blocks (by @t-kameyama)
    • #4255 Make text of all keyword completion element bold to be consistent with all similar completion variants
    • #4250 Correctly move caret inside parentheses after method completion in UFCS form (by @t-kameyama)
  • #4094 Take into account arbitrary macros while type inference. Previously the plugin considered only top-level generated items and some commonly used macros from stdlib. Also, if you have experimental macro expansion enabled (you can enable it via Preferences | Languages & Frameworks | Rust | Expand declarative macros option), it provides correct navigation to local variables from macro calls

  • #3996 Detect E0023, E0026, E0027 compiler errors and provide quick fixes for them (by @shevtsiv)

  • #3996 Add intention to replace .. pattern with actual fields (by @shevtsiv)

  • #4244 Parse parameter attributes properly

  • #4240 Provide different color settings for declaration and call of functions and methods

  • #4203 Show containing function for items in Find Usages dialog when File Structure option is enabled (by @fan-tom)

  • #4197 Load Rust debugger formatters and rustc sources for any CLion debugger process. It should provide tree-view visualization of variable values and step into action for rust code for any run configuration (not only for Cargo Command ones) Note, it works only since CLion 2019.2

Fixes

  • #4251 Fix parsing of nested async functions

  • #4239 Do not show false positive E0562 error annotation for nested functions

Internal Improvements

  • #4275 Use new API for go to class/symbol extensions