IntelliJ Rust Changelog #108
New Features
-
#4537, #4488, #4342 Initial support of
cfg
attributes. Now the plugin can evaluate some expressions insidecfg
attributes. Code that plugin considers disabled has gray foreground now and it isn’t taken part while name resolution and code analysis. For example, if you have several definitions of the same item for different operating systems, the plugin doesn’t treat them as duplicates now. The set of supported options is quite small at this moment. The most notable supported options areunix
,windows
andtarget_os
(full set can be found in the corresponding issue). Note, features defined viaCargo.toml
are still unsupported -
#4398 Improve
Edit | Extend Selection
andView | Type Info
actions for code inside macro calls. If a piece of code in macro call is expanded into exactly the same code, the corresponding actions work for it in the same way as they work with code outside of macro call. Note, it works only when the experimental macro expansion engine is enabled. You can turn it on viaPreferences | Languages & Frameworks | Rust | Expand declarative macros
option -
#4474 Provide Rust specific dictionary for the spellchecker. It should fix false positive warning annotations on some commonly used Rust words like
deref
. Spellchecker dictionaries can be configured inPreferences | Editor | Spelling
setting panel -
#4523 Improve rendering of external libraries. Now all stdlib crates are grouped into a single library. Also, a version is displayed for each library in the external library tree
-
#4478 Parse associated type bounds properly
-
#2651 Display items generated by macros in Structure View
Fixes
-
#4507 Process library with custom source location properly. Previously, if library
Cargo.toml
had custom path oflib
target, the sources were not indexed sometimes that led to unexpected unresolved names -
#4490 Improve editor responsiveness while macro expansion process
-
#4461 Fix Rust language injection into doc comments with 2019.3 EAPs
Full set of changes can be found here