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
-
#4990introduce anItemTreelayer to avoid reparsing files. This reduces the latency of "go to definition" in a simple benchmark on rust-analyzer by around 30%. -
#5017add 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. -
#5069Extract Variable understands field init shorthand
-
#4999allow matching of whole macro calls in structural search replace. -
#5007allow matching within macro calls in structural search replace. -
#4997document GNOME Builder (Nightly) support for rust-analyzer. -
#4940setinjectedmodifier for code in doctests. Theme authors can use it to dim injected code. -
#5047matching brace works for | in lambdas
-
#5066infer type for slice wildcard patterns. -
#4587missing unsafe diagnostics. -
#5100,#5102: Add support forinclude_strandinclude_bytes.
Fixes
-
#4900fix name resolution forSelfin enums. -
#4988don’t offer to add missing fields of unknown types. -
#4992never disable error logging on the frontend. -
#5002fix underflow panic when doctests are at top of file. -
#5004fix panic in split/merge import assists. -
#5023fix string literal inference in match. -
#5015account for updated module ids when determining whether a resolution is changed. -
#5033order of glob imports does not affect import shadowing.
Internal Improvements
-
#4976new VFS. -
#5068prepare for dynamic project reloading. -
Rewrite main loop in rust-analyzer.
-
#4982upgrade chalk. This, and other type system improvements, bring the proportion of of unknown types in rust-analyzer to less than 1%. -
#5013uniformly trim test data. -
#5014centralize test data parsing. -
#5029usepaths::AbsPathin more places. -
#5034cleanup project.json deserialization.