1
- use std:: { borrow:: Cow , io, io :: prelude :: Write } ;
1
+ use std:: { borrow:: Cow , io} ;
2
2
3
3
use super :: OutputFormatter ;
4
4
use crate :: {
5
- console:: { ConsoleTestDiscoveryState , ConsoleTestState , OutputLocation } ,
5
+ console:: { ConsoleTestDiscoveryState , ConsoleTestState , Output } ,
6
6
test_result:: TestResult ,
7
7
time,
8
8
types:: TestDesc ,
9
9
} ;
10
10
11
- pub ( crate ) struct JsonFormatter < T > {
12
- out : OutputLocation < T > ,
11
+ pub ( crate ) struct JsonFormatter < ' a > {
12
+ out : & ' a mut dyn Output ,
13
13
}
14
14
15
- impl < T : Write > JsonFormatter < T > {
16
- pub fn new ( out : OutputLocation < T > ) -> Self {
15
+ impl < ' a > JsonFormatter < ' a > {
16
+ pub fn new ( out : & ' a mut dyn Output ) -> Self {
17
17
Self { out }
18
18
}
19
19
@@ -23,7 +23,7 @@ impl<T: Write> JsonFormatter<T> {
23
23
// by issuing `write_all` calls line-by-line.
24
24
assert_eq ! ( s. chars( ) . last( ) , Some ( '\n' ) ) ;
25
25
26
- self . out . write_all ( s . as_ref ( ) )
26
+ self . out . write_plain ( s )
27
27
}
28
28
29
29
fn write_event (
@@ -56,7 +56,7 @@ impl<T: Write> JsonFormatter<T> {
56
56
}
57
57
}
58
58
59
- impl < T : Write > OutputFormatter for JsonFormatter < T > {
59
+ impl OutputFormatter for JsonFormatter < ' _ > {
60
60
fn write_discovery_start ( & mut self ) -> io:: Result < ( ) > {
61
61
self . writeln_message ( concat ! ( r#"{ "type": "suite", "event": "discovery" }"# , "\n " ) )
62
62
}
0 commit comments