IntelliJ Rust Changelog #97
New Features
-
Support integer const expression evaluation in
Match Check
inspection. Now this inspection can analyze complex constant arithmetic expressions and hexadecimal, octal or binary forms of integer literals. Should also fix false positiveUnreachable pattern
warnings when constants are used - Test runner improvements:
- Provide run configuration to launch all tests/benches in the whole directory
- Show line marker for tests marked with
quickcheck
attribute provided by quickcheck crate - Correctly handle multiple targets with the same names
- Better navigation from test tool window to the corresponding test
-
Add missing fields
quick fix allows defining field values interactively -
Allow taking into account the corresponding trait items by
Find usages
action -
Add
Cargo Crate
action to create a new Cargo crate in existing project (by @Kobzol) -
Support
label_break_value
syntax. See the corresponding RFC for more details -
Improve inspection suppression. Now
Naming conventions
andDeprecation
inspections provide quick fixes to suppress the corresponding warning viaallow(lint)
attribute insertion
Fixes
- New macro expansion engine improvements:
- Disable highlighting, inspections and other analysis while macro expansion to speed up the whole expansion process
- Fix progress bar hangs while macro expansion
- Fix performance regression of name resolution. Now new macro expansion engine shouldn’t affect name resolution performance
-
Slightly optimize name resolution performance
-
Mark workspace
target
dir as excluded -
Don’t show false positive
Unresolved reference
errors inside trait implementation -
Don’t show parameter hints for unnamed fields (by @tuxxi)
-
Filter out redundant auto import candidates better. Now auto import quick fix provides a single variant to import for
HashMap
,HashSet
and similar structs -
Fix false positive
Module is private
error annotations when module have restricted visibility likepub(self)
-
Move plugin project settings from
misc.xml
toworkspace.xml
-
Underscore imports don’t bring the corresponding names into the scope now
-
Fix name resolution of
Self
in structs and enums -
Add non-public fields into completion suggestions if they are allowed
-
Parse paired brackets inside Rust doc link text properly (by @ArtsiomCh)
- Provide completion for new keys like
crate-type
andincremental
inCargo.toml