IntelliJ Rust Changelog #194
This is the last release that supports the 2022.3 IDEs. To receive plugin updates further, please upgrade your IDE to 2023.1.
New Features
-
Detect new compiler errors:
-
#10315 Support extracting code containing control flow in
Extract function
refactoring (Refactor | Extract Method
or Ctrl+Alt+M) -
#9219 Adjust new Rust project generator to new project wizard in IDEA
-
#10398 Highlight constants and statics differently to visually distinguish them. You can change the corresponding highlighting via
Preferences | Editor | Color Scheme | Rust
settings -
#10359 Annotate built-in attributes (by @kuksag)
-
Check that the proper delimiter is applied when specifying an attribute
-
Check that attribute format is conforming with the respective template
-
Check that no literal suffixes are used when specifying an attribute
-
Check if an attribute is used multiple times on the same item
-
-
#9551 Allow to configure the channel and environment variables for external linters. You can configure it in
Settings | Languages & Frameworks | Rust | External Linters
-
#9287 Enable Debugger, Profiler, Valgrind, Code Coverage, and Build/Test tool windows for
bench
command (CLion only). Note, default bench profile doesn’t contain debuginfo. You have to use, for example,dev
profile (add--profile=dev
to your command) -
#8161 Allow loading NatVis debugger renderers when using MSVC toolchain on Windows
-
#8207 Add an experimental option to use source-based coverage
-
#8087 Add a quick-fix for type mismatch E0308 error that adds a
#[repr(...)]
attribute to an enum: (by @serid)
Fixes
-
#10410 Parse and expand macros in attributes:
#[doc = foo!()]
-
#10367 Properly build local crate index to provide completion of crate names and version in
Cargo.toml
after collapsing cargo git crate index into one commit -
#8147 Render const generics in quick docs and inline hints
-
#9254 Fix
Needless lifetimes
inspection in case of async functions -
#9740 Support smart enter for type aliases
-
#8762 Fix running build if Cargo project is in a subdirectory
-
#10382 Fix formatting and links in descriptions of some intentions and inspections
-
#10396 Reduce the error scope for E0130, E0561 and E0642 compiler errors from value parameter to pattern
-
#8908 Fix a bug when applying changes to multiple configurable (e.g.
Rust
andCargo
) at once -
#7917 Fixes
E0518
error detection when there is cfg-disabled import ofinline
proc macro -
#7141 Fix completion of derive proc macro with
doc(hidden)
attribute in imports -
#10380 Fix showing error when assigning value to union field outside unsafe block
-
#9948 Allow cargo packages installed via
cargo install --path
(by @joshuataylor) -
#10361 Don’t show error
function cannot be variadic
when use default ABI
Internal Improvements
-
#10389 Extend MIR support with most basic cases (by @LebedevEA)
-
#10388 Migrate tests to JUnit4
-
#10146 Generate info about built-in attributes
Full set of changes can be found here