New Features

  • #4936 Provide name resolution of items declared in impl blocks for type aliases. Taking performance into account, this feature is only enabled for types with a limited number of aliases

  • #5087 Provide the quick fix for Mismatched types error annotation to change a function’s return type. Note, it doesn’t work inside trait impl blocks for now

  • #5124 Now “Unresolved reference” inspection highlights code more precisely (by @Exidex)

  • #5120 Detect E0451 compiler error

  • #5114 Annotate slice patterns as an experimental feature for toolchains before 1.42

  • Parser improvements:

Performance Improvements

Fixes

  • #5084 Prevent an infinite recursion while analyzing a control flow inside macros

  • #5082 Now some inspections (e.g., Liveness Analysis) correctly process macro calls. It should fix some false positive annotations

  • #5057 Now formatter adds a new line between items inside a function’s body

  • #5053 Fix “Introduce Variable” intention in case if the first expression is inside a nested block

  • #5020 Handle type aliases in “Destructure” intention (by @Kobzol)

  • #5012 Handle async functions in “Extract Function” refactoring (by @Kobzol)

  • #5103 Generates external documentation link for a public item from impl block even if it is located in a private module

Full set of changes can be found here