IntelliJ Rust Changelog #162
New Features
-
#8145 Take into account const generics defaults during const evaluation
-
#8070 Suggest private items when completing code inside
New Watch
andEvaluate
in Debug tool window -
#8192 Parse and annotate
~const
syntax
Performance Improvements
- #7947 Fix exception when expanding macros in parallel and enable it by default. This is the second attempt to make procedural macro expansion parallel. The previous one was reverted because of the bug.
Fixes
-
Procedural macro expansion fixes:
-
#8271 Fix expansion of procedural macros that use
CARGO_TARGET_DIR
environment variable (for example, macros fromsqlx
crate withoffline
feature) -
#8233 Fix expansion of proc macros that weirdly mix token spans (e.g.
yew::html!
) -
#8203 Fix expansion of proc macros with a float literal in a body
-
#8278 Fix procedural macro expansion with nightly toolchain
Note, procedural macro expansion is still under development, and it’s disabled by default for now. To turn it on, enable
org.rust.cargo.evaluate.build.scripts
andorg.rust.macros.proc
experimental features -
-
#8261 Fix type inference when the type in
impl
item is also used in associated type projection likeimpl Trait1<<S as Trait2>::Item> for S {}
, In particular, it should fix type inference and code completion withsqlx
macros -
#8241 Fix handling
$crate
inside detached files -
#8235 Fix false positive E0277
trait bound Sized is not satisfied
-
#8235 Take into account
Sized
/?Sized
trait bounds during name resolution and code completion -
#8217 Fix
Extract function
refactoring (Ctrl+Alt+M) for argument of some macro calls likeprintln!
orvec!
-
#8194 Fix
Introduce variable
intention inside match arm -
#8164 Fix continuous “Preparing resolve data” process when memory is low
-
#8045 Fix auto-import in
include!
-ed files. Previously,use
items were wrongly inserted into file containedinclude!
macro call
Full set of changes can be found here