IntelliJ Rust Changelog #102
New Features
-
#3618 Support code coverage for Rust. Implementation is based on grcov utility. If the utility is not installed on your machine, the plugin will suggest installing it. Note, it requires nightly toolchain to instrument code properly. Also, this feature doesn’t work in CLion for now (see the corresponding issue for more details).
-
#4108 Add intention to convert
impl Trait
to type parameter (by @rrevenantt) -
#4022 Add
Implicit trait objects are deprecated
inspection that highlights trait objects declaration without explicitdyn
keyword in edition 2018 (by @rrevenantt) -
#4090 Add option to emulate the terminal while running
Cargo Command
run configuration. It may be useful with crates like color-backtrace that have different behavior when a process is run under TTY. The option is available only on Unix. -
#4078 Take into account
pub extern crate
re-exports byAuto Import
quick fix and out-of-scope item completion -
#4134 Correctly parse trait aliases. Note, type inference and name resolution have not been implemented yet (by @lundibundi)
- Add detection of the new compiler errors:
- #4128 Add separate color for
union
s (by @fan-tom)
Fixes
- Inspection fixes:
- #4070 Provide
Auto Import
quick fix for associated items and method calls in UFCS form - #4120 Fix false positive E0081 error annotations when enum variant discriminant defined via constant expression.
Also, evaluation of enum variant discriminant takes into account
repr
attribute - #4148 Do not produce E0618 error for structs that implement
Fn*
traits (by @mibac138) - #4046 Do not show false positive
Use of moved value
error annotation for slice destructing likelet [a, b , c] = array;
- #4047 Produce missing
Use of moved value
annotation for struct patterns
- #4070 Provide
- Performance improvements:
- Type inference fixes:
-
#4107 Fix LLDB and GDB formatters for HashMap and HashSet. They were broken because of the new implementation in stdlib since 1.36
-
#4160 Perform
Move Line
action correctly if line ended with comment -
#3731 Correctly process doc tests results while test running
-
#4099 Expand macros properly if it produces new macro definition. It should support the new implementation of
iterator
macros in nightly stdlib. Note, it works only when an invocation of the new macro is at least on the same expansion step (or deeper) in term of macro expansion engine -
#4119 Fold block doc comments (like
/** */
) properly -
#4115 Fix
Runner Run is not registered
exception - #4122 Fix indexing exception when
include
macro invoked inside a function body