Changelog #31
Commit: ca31b1d
Release: 2020-06-29
Sponsors
This week, we’d like to thank another long-time sponsor:
Parity is building tooling and infrastructure for the decentralised, trustless Web in Rust.
New Features
-
#4990
introduce anItemTree
layer to avoid reparsing files. This reduces the latency of "go to definition" in a simple benchmark on rust-analyzer by around 30%. -
#5017
add custom cargo runners support. This adds an option to delegate actual cargo commands building to another extension. For example, to use a different manager like cross. cross-rust-analyzer is an example of such extension. -
#5069
Extract Variable understands field init shorthand -
#4999
allow matching of whole macro calls in structural search replace. -
#5007
allow matching within macro calls in structural search replace. -
#4997
document GNOME Builder (Nightly) support for rust-analyzer. -
#4940
setinjected
modifier for code in doctests. Theme authors can use it to dim injected code. -
#5047
matching brace works for | in lambdas -
#5066
infer type for slice wildcard patterns. -
#4587
missing unsafe diagnostics. -
#5100
,#5102
: Add support forinclude_str
andinclude_bytes
.
Fixes
-
#4900
fix name resolution forSelf
in enums. -
#4988
don’t offer to add missing fields of unknown types. -
#4992
never disable error logging on the frontend. -
#5002
fix underflow panic when doctests are at top of file. -
#5004
fix panic in split/merge import assists. -
#5023
fix string literal inference in match. -
#5015
account for updated module ids when determining whether a resolution is changed. -
#5033
order of glob imports does not affect import shadowing.
Internal Improvements
-
#4976
new VFS. -
#5068
prepare for dynamic project reloading. -
Rewrite main loop in rust-analyzer.
-
#4982
upgrade chalk. This, and other type system improvements, bring the proportion of of unknown types in rust-analzyer to less than 1%. -
#5013
uniformly trim test data. -
#5014
centralize test data parsing. -
#5029
usepaths::AbsPath
in more places. -
#5034
cleanup project.json deserialization.