New Features

  • Actual stdlib info fetching improvements:

    • #7782 Enable fetching actual info about stdlib packages like dependencies, edition, Cargo features by default. It should help the plugin better understand stdlib structure, for example, provide proper completion and navigation for items defined in std::os module. In case of any issue, you can turn this feature off via org.rust.cargo.fetch.actual.stdlib.metadata experimental feature

    • #7772 Show warning/errors during fetching stdlib info in Sync View

  • #7777 Enable by default code completion ranking for Rust based on machine learning. Now the completion suggestions are sorted by their relevance based on the rules learned from data we have gathered anonymously during our EAPs. Note that we have not collected any source code, only information about your interactions with the code completion UI. In case of any issues, you can disable the new ranking model via Editor | General | Code Completion | Machine Learning-Assisted Completion settings. You can also see completion sorting changes by enabling Mark position changes in the completion popup in Preferences | Editor | General | Code Completion

    ML completion sorting

  • #7769, #7751 Correctly parse unsafe keyword in extern blocks and module items, and annotate it as an error

    Parse and annotate unsafe in extern and module blocks

  • #7734 Introduce new icons for macro items, providing macro_rules! and macros 2.0 items with distinctive ones

    New macro items icons

  • #7663 Support Move Element Left/Right action for predicates in where clause

  • #7757 Parse and annotate block expressions as default const generic values when using const_generics_defaults compiler feature

  • #3790 Deprecated item inspection now correctly handles items that will be deprecated in a future version (by @mibac138 & @Kobzol)

Fixes

  • #7790 Generate const generics by Implement Members quick-fix properly

  • #7758 Don’t fetch stdlib metadata for rustc project since it’s already fetched during project structure setup

  • #7752 Properly render negative impl items in Go to implementation popup

  • #7728 Fix DTrace profiler integration with CLion 2021.2

  • #7726 Correctly print restricted visibility of items in quick documentation instead of always printing pub (by @afetisov)

  • #7637 Use existing impl block if possible in Extract function refactoring (Ctrl+Alt+M)

  • #7506 Fix procedural macros and generated items support for WSL toolchains

Internal Improvements

  • #7740 Drop CLA requirement. There is no more need to sign it to make a contribution into plugin

Full set of changes can be found here