New Features

  • Detect new compiler errors (by @kuksag):
    • #10066 main function is not allowed to have generic parameters (E0131)

    • #10066 An inherent implementation was marked unsafe (E0197)

    • #10066 Type parameter has more than one relaxed default bound (E0203)

    • #9894 A pattern was declared as an argument in a foreign function declaration (E0130)

    • #9894 Trait methods currently cannot take patterns as arguments (E0642)

  • #10057 Parse and annotate const_closures syntax

  • #8826 Support where clauses on generic associated types at the end of statement

  • #9987 Annotate missing lifetimes (E0106) in function signatures

  • #9123 Allow excluding specific paths from auto-import via Preferences | Editor | General | Auto Import | Rust settings. By default, Borrow and BorrowMut methods are excluded, as auto-import is rarely desired for them. Tip: exclude functions or traits that are re-exported in irrelevant crates to get only the original one in the suggestions. For further details, please refer to the pull request description

  • #7489 Add debugger option to not step into stdlib sources. Note, there is a known limitation that it does not work yet on Windows with MSVC toolchain (by @Kobzol)

  • #9962 Show the contents of raw slice pointers (*const [T], *mut [T]) in the debugger

  • #9806 Update icons for the New UI

  • #10056 Add a dedicated icon for procedural macros

  • #10050 Allow disabling gutter icons provided by the plugin via Preferences | Editor | General | Gutter Icons settings

  • #9583 Support Emulate terminal in output console option for wasm-pack configurations

Performance Improvements

  • #9868 Speed up syntax highlighting in macro calls

  • #9529 Slightly speed up name resolution

Fixes

  • #9965 Update debugger pretty-printers and type name decorators for MSVC to Rust 1.67. Now the debugger renders str and slice types properly

  • #9746 Do not suggest removing unused parameters in trait methods and procedural macro definitions

Platform Updates

  • CPP-28311 Since CLion 2023.1 EAP build 231.6890.13, Rust debugging using Bundled GDB on Windows works properly without throwing Undefined item: "UTF-8" exception

  • #10007 Since CLion 2023.1 EAP build 231.4840.362, Rust remote debugging works properly with LLDB

Internal Improvements

  • #10049 Allow using new language features from Kotlin 1.8

  • #9972 Use mixed AST where possible

Full set of changes can be found here