Uh oh!
There was an error while loading. Please reload this page.
save-analysis: Use serde instead of libserialize to dump JSON data - #60053
Conversation
rust-highfive
commented
Apr 17, 2019
r? @varkor (rust_highfive has picked a reviewer for you, use r? to override) |
Xanewok
commented
Apr 17, 2019
I tested the change by compiling rustc and using it to compile RLS, which seemed to work normally and also did spit the data using the new serde backend. FWIW I also tested running RLS on a crate which pulled in |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
nrc
commented
Apr 19, 2019
@bors: r+ |
bors
commented
Apr 19, 2019
📌 Commit 8498ba204b4c83c21f29d4918057a96cd601baef has been approved by |
Xanewok
commented
Apr 19, 2019
Added a test, which checks that reading a malformed config doesn't panic @bors r=nrc |
bors
commented
Apr 19, 2019
📌 Commit b03123426c60dc22d84291a0fcecef67451514a8 has been approved by |
bors
commented
Apr 19, 2019
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message |
b031234 to
bc8af9aCompareXanewok
commented
Apr 19, 2019
That's weird... rebased just fine. @bors r=nrc |
bors
commented
Apr 19, 2019
📌 Commit bc8af9a has been approved by |
bors
commented
Apr 19, 2019
⌛ Testing commit bc8af9a with merge 227d009d96ba8703729c5ae049ddf0aec20041f9... |
bors
commented
Apr 19, 2019
💔 Test failed - checks-travis |
bc8af9a to
4fb570dComparerust-highfive
commented
Apr 21, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Xanewok
commented
Apr 21, 2019
Updated rls-* crates to explicitly not use @bors r=nrc |
bors
commented
Apr 21, 2019
📌 Commit 2dccaa7 has been approved by |
bors
commented
Apr 21, 2019
⌛ Testing commit 2dccaa7 with merge f51fc22e2711493012c954049be8c4c35c545968... |
bors
commented
Apr 21, 2019
💔 Test failed - checks-travis |
rust-highfive
commented
Apr 21, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Xanewok
commented
Apr 21, 2019
Argh, RLS broke again due to Clippy, will need to fix that first |
Xanewok
commented
Apr 22, 2019
Looks like #60158 is almost merged, with and the queue has only one PR (59114) pending without Cargo.lock, so I'll queue this up for the night: |
bors
commented
Apr 22, 2019
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 todaybors
commented
Apr 22, 2019
☀️ Test successful - checks-travis, status-appveyor |
rust-highfive
commented
Apr 22, 2019
📣 Toolstate changed by #60053! Tested on commit 8f06188. 💔 clippy-driver on windows: test-pass → test-fail (cc @Manishearth@llogiq@mcarton@oli-obk@phansch, @rust-lang/infra). |
Tested on commit rust-lang/rust@8f06188. Direct link to PR: <rust-lang/rust#60053> 💔 clippy-driver on windows: test-pass → test-fail (cc @Manishearth@llogiq@mcarton@oli-obk@phansch, @rust-lang/infra). 💔 clippy-driver on linux: test-pass → test-fail (cc @Manishearth@llogiq@mcarton@oli-obk@phansch, @rust-lang/infra).
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 implementingDecodableet al. by hand for data structures defined there.Notable benefits:
PathBufserialization (until now (de)serialized as&[u8])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 bundledrls-analysishere 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