New Features

  • #8927 Take into account #![recursion_limit] which controls the maximum depth of macro expansions. This fixes some unresolved references when using such crates as async-std and tokio. If you don’t want/need to expand macros to full depth, you can adjust Maximum recursion limit for macro expansion in Advanced Settings.

  • #8934 Add clippy::all group to lint compeltion suggestions (by @Kobzol)

  • #8900 Remove Old Macro Expansion Engine option

Performance Improvements

  • #8955 Reduce memory usage by trait implementation metadata since it’s extensively cached and thus bloat old generation heap space a lot

Fixes

  • #8957 Take into account impls for macro types. For example, impl foo!() { fn bar(&self) {} }

  • #8952 Complete more methods when auto dereference occurs

  • #8950 Consider methods in impls for a reference (&Foo) when the receiver is not a reference type

  • #8943 Consider negative impls (e.g. impl !Sync for T {}) in type inference

Internal Improvements

  • #8919 Implement a new approach to better detect changes that possibly affect the project model. It’s disabled by default for now.

  • #8926 Increase Kotlin language level to 1.7 and API level to 1.6. So now it’s possible to use all language features added in Kotlin 1.7 and any API from stdlib added in Kotlin 1.6

The full set of changes can be found here