diff options
| author | Emil Lauridsen <mine809@gmail.com> | 2020-01-29 13:40:27 +0100 |
|---|---|---|
| committer | Emil Lauridsen <mine809@gmail.com> | 2020-01-29 13:40:27 +0100 |
| commit | 8ffbe86dfd24ffcc11ec37bceca9102260d59db2 (patch) | |
| tree | 9b21617545fc358ebf2a47c8f28bf663a5a9afbc /docs | |
| parent | 6fd29651b4f2bca8a36685a49d35cd349692984a (diff) | |
| download | rust-8ffbe86dfd24ffcc11ec37bceca9102260d59db2.tar.gz rust-8ffbe86dfd24ffcc11ec37bceca9102260d59db2.zip | |
Parse cargo output a line at a time.
We previously used serde's stream deserializer to read json blobs from the cargo output. It has an issue though: If the deserializer encounters invalid input, it gets stuck reporting the same error again and again because it is unable to foward over the input until it reaches a new valid object. Reading a line at a time and manually deserializing fixes this issue, because cargo makes sure to only outpu one json blob per line, so should we encounter invalid input, we can just skip a line and continue. The main reason this would happen is stray printf-debugging in procedural macros, so we still report that an error occured, but we handle it gracefully now. Fixes #2935
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
