This is the last release which supports IDEA 2018.3. If you want to continue to receive plugin updates, please upgrade your IDE to 2019.1.

New Features

  • Improve postfix await syntax support:
    • Highlight postfix await as a keyword
    • Suggest await during the code completion if receiver’s type is impl Future
  • Introduce Make public quick fix for Item is private error annotation gif (by @shevtsiv)
  • Add Add format string argument intention to insert arguments into formating macros like println easier gif
  • Improve Fill match arms intention. Now it supports match ergonomics. Also, it respects imports and doesn’t add enum prefix for imported enum variants. Previously, it worked only for Option and Result enums
  • Provide line marker to run tests or benches in a module from the module declaration
  • Implement Reformat Cargo Project with Rustfmt action to reformat whole cargo project with rustfmt. You can launch it via Code | Reformat Cargo Project with Rustfmt or Cargo tool window
  • Now Run Cargo command action opens Run Anything dialog starting with 2019.2
  • Support more cases by Match Check inspection

Fixes

  • Fix freezes during parameter hints rendering and avoid annoying Preparing parameter info... popup while typing

  • Fix Auto import quick fix regression introduced while adding support of paths in 2018 edition. Now it’s correctly suggested in project crates

  • Name resolution fixes:
    • Process wildcard imports in 2018 edition correctly
    • Improve name resolution for items declared inside a function body
    • Correctly resolve method calls to default trait methods for type params
  • Type inference fixes:
    • Make unification of never (!) type properly
    • Fix closure type inference with impl Trait Fn* type
  • New macro expansion improvements:
    • Make macro expansion progress more precise
    • Fix some exceptions on 2019.2
  • Completion improvements:
    • Speed up trait method completion
    • Fix angle brace completion before brace (by @rrevenantt)
  • Do not show error annotations related to mutability if the plugin failed to infer expression type
  • Fix false positive error annotation of E0603 error for trait members
  • Correctly highlight block doc comments without * prefix on each line (by @rrevenantt)
  • Provide correct access type for struct literals in Find Usages dialog

Internal Improvements

  • Identify plugin in requests to crates.io during completion in Cargo.toml properly (by @sgrif)