Changelog #21
Commit: 90f8378
Release: 2020-04-20
New Features
-
#3958Initial support for proc-macros
To enable it, set the following settings:
1 2 3 4
{ "rust-analyzer.cargo.loadOutDirsFromCheck": true, "rust-analyzer.procMacro.enabled": true }
-
#3990switch to Chalk recursive solver. This significantly improves type inference when associated types are involved, for example, with iterators:
Before
After -
#4034addunresolvedReferencesemantic tag for names which rust-analyzer fails to resolve. Adding to VS Code config1 2 3
"editor.tokenColorCustomizationsExperimental": { "unresolvedReference": "#FF0000" }
will give fast feedback about unresolved references, highlighting them in red. No default highlighting is set, as rust-analyzer still has a fair number of false positives.
-
#3962don’t assign shortcut for Parent Module command. The original shortcut was ctrl+u, but it conflicts with VS Code build-in. It is recommended to assign custom shortcut forrust-analyzer.parentModuleaction. -
#3965implement inline associated type bounds. -
#3966add support for bounds on associated types in trait definitions. -
#4026omit more parameter hints in the presence of underscores. -
#3894implement exhaustiveness checking for record enum variants.
Fixes
-
#3961fix extraneous comma when merging import. -
#3969Add Function assist now usestodo!macro. -
#3967handleSelf::Typein trait definitions when referring to own associated type. -
#3948fix inlay hints config synchronization between client and server. -
#3979fix missing match arm false positive for enum with no variants. -
#4010fix diagnostics ranges in macros. -
#4011fix self-fulfilling completion. -
#4012fix panic on ellipsis in pattern. -
#4021fix type equality for dyn Trait. -
#4022fix panic in syntax highlighting. -
#4023fix another crash from wrong binders. -
#4027don’t qualify builtins in generated code. -
#4036fix name resolution in guard closes and record patterns.