New Features

  • #6836 Initial support for Run Targets. Run Targets allow you to build/run the applications you’re developing in Docker containers, in WSL or on remote machines via SSH

    Note, currently, Run Targets feature is available only in CLion, IDEA Ultimate and GoLand. Also note that remote debugging using Run Targets is currently unavailable

  • #7825 Add an option to use Rustfmt from a non-default toolchain and allow to configure addition arguments and environment variables for Rustfmt. You can find these settings in Settings | Languages & Frameworks | Rust | Rustfmt

  • #8713 Update ML completion model to improve sorting of completion suggestions. In addition to the data used before, the new model is now taking into account several new facts to:

    • prefer expressions of type matching the expected type

    • differentiate between inherent, trait and blanket implementations

    • recognise async, const and unsafe contexts

    Note that your source code is never being collected, only the information about your interactions with the code completion UI

  • #7410 Add Unnecessarily qualified path inspection that finds unnecessarily qualified paths. It corresponds to the unused_qualifications lint (by @Kobzol)

  • #8699 Process files generated by the build scripts up to 8 megabytes in size automatically. Previously such files were ignored by IDE during indexing and it was necessary to adjust the limit manually using idea.max.intellisense.filesize property to make IDE index them. Note, build script evaluation is disabled by default for now. To turn it on, enable org.rust.cargo.evaluate.build.scripts experimental feature

  • #8697 Respect run/debug modes in Run Anything by Cargo commands. Now you can run a Cargo command under debugger using Shift + Enter in Run Anything popup. It allows you to run your command in debug mode from the terminal as well

  • #7998 Enable Valgrind memcheck on WSL toolchains. Note that Valgrind Memcheck integration is available in CLion only

Fixes

  • #8739 Fix parsing of test events with large output in Test View

  • #8742 Resolve unit structs in the context of a pattern

  • #8726 Fix type inference of associated types that are referenced from a cast to a supertrait (by @Arc-blroth)

  • #8703 Do not highlight Documentation tests if there are unbalanced code fences in a previous doc comment

  • #8738 Don’t try to release editor of macro expansion view twice. This fixes an exception #8737 that occurs when closing a macro expansion popup

  • #8706 Rename a URL scheme for macro expansion file system: rust_macros -> rust-macros. The previous name was incorrect because a URL scheme really can’t contain an underscore sign _. This fixes a possible exception during macro expansion

Full set of changes can be found here