IntelliJ Rust Changelog #182
New Features
-
#8755 Support
let_chains
(by @Kobzol) -
#9105 Allow to run a specific documentation test all the ways you can run a usual test (by @Kobzol)
-
#9349 Decorate MSVC type names when rendering values in the debugger on Windows. Now the Rust type names containing MSVC-specific wrappers are rendered properly, e.g.
tuple$<Foo, ref$<Bar>>
is replaced by(Foo, &Bar)
. This feature can be disabled via theDecorate MSVC type names
checkbox in theFile | Settings | Build, Execution, Deployment | Debugger | Data Views | Rust
settings -
#7134 Add a quick-fix to generate missing trait member definitions in trait implementations (by @Sejsel)
- Procedural macro support improvements:
- #9615 Split
org.rust.macros.proc
experimental feature into sub-features:org.rust.macros.proc.function-like
enables function-like procedural macros expansionorg.rust.macros.proc.derive
enables derive procedural macro expansionorg.rust.macros.proc.attr
enables attribute procedural macro expansionorg.rust.macros.proc
enables all the above
It should help us to enable macro support gradually.
Note, since the procedural macro support is still experimental, these features are disabled by default. You can turn them on via
Help | Find Action | Experimental Features
dialog -
#9628 Enable the expansion of function-like procedural macros in the nightly builds. For more information, check the implementation PR and the corresponding tracking issue.
-
#9614 Fix the expansion of attribute and derive procedural macros inside functions
-
#9559 Fix duplicate completion for already imported attribute procedural macros
- #9526 Insert brackets of the proper form (
()
,[]
or{}
, depending on the macro’s documentation) when completing procedural macro calls
- #9615 Split
-
#9650 Increase the minimal supported version of Rust to 1.56
- #8916 Fix emulating terminal in output console in some cases
Fixes
- Type inference fixes:
-
#9598, #9639 Fix false-positive
trait bound is not satisfied E0277
annotations. Infer types properly when there are trait bounds on theSelf
type -
#9552 Properly infer type of custom macros that shadow built-in macros
-
#7450 Properly infer array size when it refers to a constant (by @Kobzol)
-
#9586 Infer const arguments in struct literal paths
-
#9620 Normalize associated type in
impl
item trait reference -
#9631 Fix type inference in the case of normalizable associated type projections like
<A as B>::C
-
-
#9637 Fix build script evaluation failure when the native helper binary was not found
-
#9627 Do not show line markers for tests in dependence crates
-
#9562 Fix
Create module file
quick-fix in 2022.3 EAPs -
#9556 Temporary disable
Insert imports on paste
feature because it may be slow when copying large code fragments. The corresponding option is located inPreferences | Editor | General | Auto Import | Rust
settings -
#9550 Do not resolve and complete macros after
::
when Rust edition 2018 or later is used -
#9469 Fix randomly appearing false-positive
Variable is never used
annotation when the variable is only used in a macro call - #9170 Fix completion for raw identifiers inside
use
declarations (by @Stzx)
Full set of changes can be found here