New Features

  • #9006 Support Rename refactoring of items expanded from a macro

  • #9173 Rustup toolchains newer than 2022-07-29 contain a proc macro server that should be compatible with macros built by the matching compiler. Since today’s release, the server is automatically detected by and used the plugin. This means that proc macros will keep working on latest Rust nightly versions. For more details, you can read @fasterthanlime’s blog post. Note, proc macros can be enabled using org.rust.cargo.evaluate.build.scripts and org.rust.macros.proc experimental features

  • Debugger pretty-printers improvements:

    • #9168 Show the contents and the size of Rust slices

    • #9200 Render alloc::rc::Weak and alloc::sync::Weak

    • #9203, #9237 Fix rendering of Ref and RefMut

  • #8937 Enable Unused imports inspection if proc macros are enabled. You can disable it in inspection settings

  • Improvements of top-level completion of macro calls

    • #9156 Out-of-scope completion for unqualified macro calls

    • #9156 Support for 3-segments and longer macro calls

    • #9194 Fix possible exception during typing in macro call

    • #9183 Fix duplicates in completion results

  • #9137 Updated list of key completions in Cargo.toml (by @afetisov)

Performance Improvements

Fixes

Internal Improvements

Full set of changes can be found here