New Features

  • Detect new compiler errors:

    • #9251 await outside async function (E0728)

    • #9272 Use of variable from outer function (E0434)

    • #9256 An async function used recursion without boxing (E0733). Note, detection of indirect async recursion (two async functions calling each other) is not supported for now

  • #9268, #9259 Complete attribute procedural macros in attributes

  • #9209 Provide debugger pretty-printers to render range types (e.g. core::ops::range::Range)

  • #8961 Take into account build target during collection information about the project model and don’t download and analyze platform-specific dependencies not suitable for the current platform

  • #9269 Add completions for new Clippy and Rustc lints inside lint attributes like allow, warn, etc. (by @afetisov)

Performance Improvements

  • #9236 Enable again name resolution optimization reverted in the previous release

  • #9171 Slightly speed up name resolution

  • #9255 Speed up Optimize import action when Unused imports inspection is enabled


  • #9235 Fix broken anyhow compilation when experimental feature is enabled

  • #9202 Fix name resolution of items inside module declared in include!-ed file

  • #9295 Fix search of the plugin settings in Find Action dialog and Settings window which was broken in #8709

  • #9238 Allow leading | in nested or-patterns (by @afetisov)

  • #9288 Always reload the project model after changes in settings which affect the model

  • #9267 Fix auto-import of attribute procedural macro with the same name as crate

  • #9280 Fix expansion of local (located inside function bodies) attribute and derive procedural macros

  • #9205 Update debugger pretty-printers to render CString and CStr properly

  • #9233 Fix cargo feature state inference in several cases

  • #9265 Fix auto-import variants for error::Error path on nightly toolchain

  • #9225 Properly parse environment variables in cargo config

  • #9234 Show error message in Sync tool window if project directory does not exist

  • #9270 Simplify Inline function refactoring dialog (remove unused options Search in comments)

Internal Improvements

  • #8866 Decouple associated type refinement from RsPathReference.resolve()

  • #9290 Remove code related to the old name resolution engine

Full set of changes can be found here