IntelliJ Rust Changelog #128
New Features
-
#5715 Improve
New projectdialog to supportcargo-generatetemplates. Now a WebAssembly project can be created using the corresponding template (by @avrong)
-
#5451 Add intention to import a qualified path. Now you can add
useitem for any part of a complex path under the caret (by @Kobzol)
Moverefactoring (F6) improvements:-
#5736 Search and update changed references when moving a top-level item. Previously,
Search for referencescheckbox did not work and all the references remained the same after refactoring
-
#5484 Take re-exports into account when moving a single file

-
-
#5758 Provide
true/falsecompletion for boolean values (by @ozkriff)
- Improve
Wrong number of type argumentsinspection -
#5643 Add
Substitute associated typeintention (by @Kobzol)
- Improve struct patterns completion:
- Type inference improvements:
-
#5808 Infer types for
associated_type_boundsrustc nightly feature -
#5733 Infer type for types implementing the
Trytrait when using question mark operator (by @Kobzol)
-
-
#5798 Add
Main function not found in crate(E0601) inspection for build scripts - #5747 Fold external (non-project related) parts of backtraces (by @Kobzol)
Performance Improvements
- #5790 Avoid name resolution while checking if an item is public or not. It should slightly improve performance of code insight
Fixes
- Type inference improvements:
-
#5841 Infer type parameters from associated type bindings
-
#5837 Infer types of complex
?expressions -
#5824 Ignore currently unsupported negative
implblocks during type inference. Fixes someMismatched typesfalse-positives related to negativeimpls in stdlib -
#5812 Fix
Selftype substitution in bounds. This fixes someThe trait bound is not satisfiedfalse-positives -
#5809 Process nested projections during normalization. Fixes type inference of
Pin<&impl Future<...>>awaiting
-
- Macro expansion improvements:
-
#5862 Fix
ArrayIndexOutOfBoundsExceptionduring macro call arguments completion -
#5810 Replace
IntellijRustDollarCratewith a crate name inShow macro expansionaction -
#5796 Fix name resolution of
$crateexpanded from transitive dependencies -
#5855 Don’t skip doc comments provided via macro definition
-
#5777 Fix groups substitution in macro expansion
-
-
#5857 Find and replace occurrences located outside a function in
Introduce constant/variablerefactoring (by @Kobzol) -
#5856 Properly check spelling in lifetimes. Now
'staticis not reported as a typo -
#5853 Fix name resolution of private reexport with
crate::path -
#5849 Include
RUSTCin environment when executing Cargo (by @tamird) -
#5842 Don’t show parameter hints for single-parameter closures. This hint can be returned back by disabling
Show only smart hintsinPreferences | Editor | Inlay Hints | Rust | Parameter hints -
#5838 Fix stdlib source paths on nightly. This fixes
Cargo project update failederror. -
#5822 Don’t provide color highlighting while batch code inspection via
Analyze | Inspect Codeaction and similar ones. It prevents empty items inInspection Resulttool window -
#5820 Suppress
snake_casenaming lint for#[no_mangle]extern functions (by @Kobzol) -
#5819 Add
unsafemodifier to functions extracted from unsafe functions (by @Kobzol) -
#5801 Fix navigation to derive items in 2020.2
-
#5661 Prefer trait methods before private inherent methods in completion (by @Kobzol)
-
#5779 Fix mod declarations with
#[path = "mod.rs"]attribute -
#5766 Attach module without a parent to a parent module in
Attach file to modulefix (by @Kobzol) -
#5799 Use correct language name for TOML color settings configurable
- #5789 Render inlay hint settings properly using standard layout
Internal Improvements
-
#5840 Allow triggering project GitHub workflows from UI
-
#5793 Enable GitHub actions to merge PRs
-
#5782 Get rid of
PackageOrigin.TRANSITIVE_DEPENDENCY
Full set of changes can be found here
