Skip to content

Commit 00adbb2

Browse files
committed
Use serde_json::to_writer for JsonEmitter::emit
Avoids an unnecessary intermediate string.
1 parent 54267dd commit 00adbb2

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

compiler/rustc_errors/src/json.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,12 @@ impl JsonEmitter {
148148

149149
fn emit(&mut self, val: EmitTyped<'_>) -> io::Result<()> {
150150
if self.pretty {
151-
writeln!(self.dst, "{}", serde_json::to_string_pretty(&val).unwrap())
151+
serde_json::to_writer_pretty(&mut *self.dst, &val)?
152152
} else {
153-
writeln!(self.dst, "{}", serde_json::to_string(&val).unwrap())
154-
}
155-
.and_then(|_| self.dst.flush())
153+
serde_json::to_writer(&mut *self.dst, &val)?
154+
};
155+
self.dst.write_all(b"\n")?;
156+
self.dst.flush()
156157
}
157158
}
158159

0 commit comments

Comments
 (0)