-
Notifications
You must be signed in to change notification settings - Fork 256
Conversation
@@ -106,7 +106,7 @@ where | |||
let mut contents = String::new(); | |||
file.read_to_string(&mut contents).map_err(|e| e.to_string())?; | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similarly, from_read here should give some sweet perf improvements
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You'd think, but that's unfortunately not the case in practice (the reason why I went with the string -> file flow in the first place but it seems to only affect reading)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow =/
save-analysis: Use serde instead of libserialize to dump JSON data This breaks the save-analysis infrastructure (which also includes `rls-{analysis, data, span}` crates) from depending on rustc_serialize and so we can start moving them to being supported on stable without implementing `Decodable` et al. by hand for data structures defined there. Notable benefits: - we drop the awkward raw byte `PathBuf` [serialization](https://gist.github.com/Xanewok/f4fe8564d0dc0c3ab1dbc244279ff895) (until now (de)serialized as `&[u8]`) - [faster](https://github.com/serde-rs/json-benchmark) (hopefully noticeable for inner crate dependencies for the RLS workloads) - we can easily explore the binary serialization backend (which we planned to do for save-analysis anyway) ~This should be merged together with an update to RLS (rust-lang/rls#1435), which technically could be included right now because we can use the bundled `rls-analysis` here directly, however I'd prefer to publish this to crates.io first (rust-lang/rls#1434, cc @nrc) and use the published version, instead.~ Includes rust-lang/rls#1436. @matklad @nikomatsakis This is also important for the potential RLS 1.0 - 2.0 bridge we talked about on Zulip today
☔ The latest upstream changes (presumably 20e3268) made this pull request unmergeable. Please resolve the merge conflicts. |
20e3268 was used in the Rust repo and was merged here instead of this PR, closing. |
Basically #1435 but opened from the local (non-fork) branch since Rust tidy only whitelists this repository.
When/if rust-lang/rust#60053 is merged, this should be as well to retain Rust commit history continuity.