Skip to content

Commit

Permalink
Fix #132 Failed to parse compiler message
Browse files Browse the repository at this point in the history
  • Loading branch information
alopatindev committed Oct 14, 2020
1 parent 625176c commit a41226c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
3 changes: 2 additions & 1 deletion Cargo.toml
Expand Up @@ -10,7 +10,8 @@ edition = "2018"

[dependencies]
serde = { version = "1.0.107", features = ["derive"] }
serde_json = "1.0.1"
serde_json = { version = "1.0.59", features = ["unbounded_depth"] }
serde_stacker = "0.1"

[dependencies.semver]
features = ["serde"]
Expand Down
7 changes: 6 additions & 1 deletion src/messages.rs
Expand Up @@ -144,7 +144,12 @@ impl<R: BufRead> Iterator for MessageIter<R> {
type Item = io::Result<Message>;
fn next(&mut self) -> Option<Self::Item> {
let line = self.lines.next()?;
let message = line.map(|it| serde_json::from_str(&it).unwrap_or(Message::TextLine(it)));
let message = line.map(|it| {
let mut deserializer = serde_json::Deserializer::from_str(&it);
deserializer.disable_recursion_limit();
let deserializer = serde_stacker::Deserializer::new(&mut deserializer);
Message::deserialize(deserializer).unwrap_or(Message::TextLine(it))
});
Some(message)
}
}
Expand Down

0 comments on commit a41226c

Please sign in to comment.