about summary refs log tree commit diff
path: root/docs/dev/debugging.md
diff options
context:
space:
mode:
authorEmil Lauridsen <mine809@gmail.com>2020-01-29 13:40:27 +0100
committerEmil Lauridsen <mine809@gmail.com>2020-01-29 13:40:27 +0100
commit8ffbe86dfd24ffcc11ec37bceca9102260d59db2 (patch)
tree9b21617545fc358ebf2a47c8f28bf663a5a9afbc /docs/dev/debugging.md
parent6fd29651b4f2bca8a36685a49d35cd349692984a (diff)
downloadrust-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/dev/debugging.md')
0 files changed, 0 insertions, 0 deletions