1
1
use super :: * ;
2
2
use crate :: rustfmt_diff:: { DiffLine , Mismatch , make_diff} ;
3
3
use serde:: Serialize ;
4
- use serde_json:: to_string as to_json_string ;
4
+ use serde_json:: to_writer as to_json_writer ;
5
5
6
6
#[ derive( Debug , Default ) ]
7
7
pub ( crate ) struct JsonEmitter {
@@ -26,7 +26,8 @@ struct MismatchedFile {
26
26
27
27
impl Emitter for JsonEmitter {
28
28
fn emit_footer ( & self , output : & mut dyn Write ) -> Result < ( ) , io:: Error > {
29
- writeln ! ( output, "{}" , & to_json_string( & self . mismatched_files) ?)
29
+ to_json_writer ( & mut * output, & self . mismatched_files ) ?;
30
+ writeln ! ( output)
30
31
}
31
32
32
33
fn emit_formatted_file (
@@ -252,7 +253,7 @@ mod tests {
252
253
)
253
254
. unwrap ( ) ;
254
255
let _ = emitter. emit_footer ( & mut writer) ;
255
- let exp_json = to_json_string ( & vec ! [ MismatchedFile {
256
+ let exp_json = serde_json :: to_string ( & vec ! [ MismatchedFile {
256
257
name: String :: from( file_name) ,
257
258
mismatches: vec![
258
259
MismatchedBlock {
@@ -338,7 +339,7 @@ mod tests {
338
339
} ] ,
339
340
} ;
340
341
341
- let exp_json = to_json_string ( & vec ! [ exp_bin, exp_lib] ) . unwrap ( ) ;
342
+ let exp_json = serde_json :: to_string ( & vec ! [ exp_bin, exp_lib] ) . unwrap ( ) ;
342
343
assert_eq ! ( & writer[ ..] , format!( "{exp_json}\n " ) . as_bytes( ) ) ;
343
344
}
344
345
}
0 commit comments