New Features

  • Type hints improvements:
    • #4217 Provide new interactive inlay type hints. Now you can collapse complex types in desired way, navigate to type declarations or even disable hints just from an editor. You can change settings of type hints in Preferences | Editor | Inlay Hints | Rust panel. Note, interactive inlay hints available only since 2019.2 and work only for types so far

    • #4243 Now type hints take into account type aliases for enum and structs

  • New intentions:
    • #4297 Add Replace .. with actual fields intentions for struct literals (by @shevtsiv)
    • #4301, #4304 Implement Put on separate lines and Put on one line intentions for enum variants and struct fields (by @t-kameyama)

  • #4327 Navigate to the corresponding Cargo.toml file when Goto super action is called for crate root file

  • #4313 Provide completion of macro fragment specifiers like ty, item, expr, etc. (by @t-kameyama)

  • #4291 Show items expanded from macros in Navigate | Class/Symbol dialogs for all scopes

  • #4139 Show stdout for successful tests. Previously, test output was shown only for failed tests because of lack of the corresponding support in libtest. Note, at this moment it only works with the nightly toolchain because the implementation is based on --show-output flag introduced recently and available only in the nightly compiler for now (by @emmericp)

Fixes

  • Debugger improvements:
    • #4272 Fix incorrect rendering of test results tree in Run tool window while debugging
    • #4296 Correctly parse build and run arguments to run debug process
  • #4318 Fix false positive Cannot move error annotation while using slice patterns

  • #4343 Fix false positive E0026 error annotation on a struct pattern with a raw identifier

  • #4168 Take into account crate re-exports via pub use item for 2018 edition

  • #4312 Fix sporadic Unresolved reference error annotations for valid code

  • #4278 Improve type inference with generic default type params

  • #4259 Fix Too few arguments for option exception while manual changing of run configuration command

  • #4083 Correctly auto import trait items if possible when UFCS form is using

  • #4323 Correctly handle trailing commas in Put on separate lines intentions

  • #4315 Improve error messages for E0023 and E0027 errors (by @shevtsiv)

Internal Improvements

  • #4232 Add initial support of cfg attributes in the plugin’s analysis. For now, it’s turned off by default and doesn’t affect users because of incomplete implementation