New Features

  • Language support improvements:
    • Add basic support of const generics like parsing, name resolution, completion, etc. Type inference takes such parameters into account as well
    • Support in-band lifetimes
  • Partially support include macro. Now if include macro invocation contains only string literal, all common code insight features (like name resolution, code completion, etc.) will work in both including and included files gif
  • Make more precise navigation when an element is generated by a macro gif. Note, it works only when the new macro expansion engine is enabled. You can turn it on via Preferences | Languages & Frameworks | Rust | Expand declarative macros option
  • Provide completion while typing in GDB and LLDB consoles gif
  • Support default type params while type inference. It also should fix incorrect code generation by Implement members quick fix for types with default type params
  • Make possible to disable File is not included in module tree editor notification

Fixes

  • Improve performance of marco name resolution. It should speed up the macro expansion task produced by new experimental macro expansion engine
  • Make Add format string argument intention work properly when format macro has additional args like write!(f, "")
  • Fix false positive E0118 error annotations for primitive type impls in stdlib (by @mibac138)
  • Fix multiple name resolution result for procedural macros (by @fedochet)
  • Do not show Unresolved reference error annotation for methods with multiple declaration (e.g. with different cfg attributes)