@@ -48,64 +48,6 @@ use crate::TxnPutResponse;
4848use crate :: TxnReply ;
4949use crate :: TxnRequest ;
5050
51- struct OptionDisplay < ' a , T : Display > {
52- t : & ' a Option < T > ,
53- }
54-
55- impl < T : Display > Display for OptionDisplay < ' _ , T > {
56- fn fmt ( & self , f : & mut Formatter ) -> std:: fmt:: Result {
57- match & self . t {
58- None => {
59- write ! ( f, "None" )
60- }
61- Some ( x) => x. fmt ( f) ,
62- }
63- }
64- }
65-
66- pub struct VecDisplay < ' a , T : Display > {
67- at_most : Option < usize > ,
68- vec : & ' a Vec < T > ,
69- }
70-
71- impl < ' a , T > VecDisplay < ' a , T >
72- where T : Display
73- {
74- pub fn new ( vec : & ' a Vec < T > ) -> Self {
75- VecDisplay { at_most : None , vec }
76- }
77-
78- pub fn new_at_most ( vec : & ' a Vec < T > , at_most : usize ) -> Self {
79- VecDisplay {
80- at_most : Some ( at_most) ,
81- vec,
82- }
83- }
84- }
85-
86- impl < T : Display > Display for VecDisplay < ' _ , T > {
87- fn fmt ( & self , f : & mut Formatter ) -> std:: fmt:: Result {
88- write ! ( f, "[" ) ?;
89-
90- for ( i, t) in self . vec . iter ( ) . enumerate ( ) {
91- if i > 0 {
92- write ! ( f, "," ) ?;
93- }
94-
95- if let Some ( at_most) = self . at_most {
96- if i >= at_most {
97- write ! ( f, "..." ) ?;
98- break ;
99- }
100- }
101-
102- write ! ( f, "{}" , t) ?;
103- }
104-
105- write ! ( f, "]" )
106- }
107- }
108-
10951impl Display for TxnRequest {
11052 fn fmt ( & self , f : & mut Formatter ) -> std:: fmt:: Result {
11153 write ! ( f, "TxnRequest{{" , ) ?;
@@ -114,9 +56,9 @@ impl Display for TxnRequest {
11456 write ! ( f, "{{ {} }}, " , op) ?;
11557 }
11658
117- write ! ( f, "if:{} " , VecDisplay :: new_at_most ( & self . condition, 10 ) , ) ?;
118- write ! ( f, "then:{} " , VecDisplay :: new_at_most ( & self . if_then, 10 ) , ) ?;
119- write ! ( f, "else:{}" , VecDisplay :: new_at_most ( & self . else_then, 10 ) , ) ?;
59+ write ! ( f, "if:{} " , self . condition. display_n ( 10 ) , ) ?;
60+ write ! ( f, "then:{} " , self . if_then. display_n ( 10 ) , ) ?;
61+ write ! ( f, "else:{}" , self . else_then. display_n ( 10 ) , ) ?;
12062
12163 write ! ( f, "}}" , )
12264 }
@@ -126,9 +68,7 @@ impl Display for TxnCondition {
12668 fn fmt ( & self , f : & mut Formatter ) -> std:: fmt:: Result {
12769 let expect: ConditionResult = FromPrimitive :: from_i32 ( self . expected ) . unwrap ( ) ;
12870
129- write ! ( f, "{} {} {}" , self . key, expect, OptionDisplay {
130- t: & self . target
131- } )
71+ write ! ( f, "{} {} {}" , self . key, expect, self . target. display( ) )
13272 }
13373}
13474
@@ -148,7 +88,7 @@ impl Display for ConditionResult {
14888
14989impl Display for TxnOp {
15090 fn fmt ( & self , f : & mut Formatter ) -> std:: fmt:: Result {
151- write ! ( f, "{}" , OptionDisplay { t : & self . request } )
91+ write ! ( f, "{}" , self . request. display ( ) )
15292 }
15393}
15494
@@ -231,14 +171,14 @@ impl Display for TxnReply {
231171 f,
232172 "TxnReply{{ success: {}, responses: {}}}" ,
233173 self . success,
234- VecDisplay :: new_at_most ( & self . responses, 5 ) ,
174+ self . responses. display ( )
235175 )
236176 }
237177}
238178
239179impl Display for TxnOpResponse {
240180 fn fmt ( & self , f : & mut Formatter ) -> std:: fmt:: Result {
241- write ! ( f, "TxnOpResponse: {}" , OptionDisplay { t : & self . response } )
181+ write ! ( f, "TxnOpResponse: {}" , self . response. display ( ) )
242182 }
243183}
244184
@@ -342,7 +282,7 @@ impl Display for ConditionalOperation {
342282 f,
343283 "if:({}) then:{}" ,
344284 self . predicate. display( ) ,
345- self . operations. display_n:: < 10 > ( )
285+ self . operations. display_n( 10 )
346286 )
347287 }
348288}
@@ -380,29 +320,6 @@ mod tests {
380320 use crate :: protobuf:: TxnCondition ;
381321 use crate :: TxnOp ;
382322
383- #[ test]
384- fn test_vec_display ( ) {
385- assert_eq ! (
386- format!( "{}" , super :: VecDisplay :: new( & vec![ 1 , 2 , 3 ] ) ) ,
387- "[1,2,3]"
388- ) ;
389-
390- assert_eq ! (
391- format!( "{}" , super :: VecDisplay :: new_at_most( & vec![ 1 , 2 , 3 ] , 3 ) ) ,
392- "[1,2,3]"
393- ) ;
394-
395- assert_eq ! (
396- format!( "{}" , super :: VecDisplay :: new_at_most( & vec![ 1 , 2 , 3 , 4 ] , 3 ) ) ,
397- "[1,2,3,...]"
398- ) ;
399-
400- assert_eq ! (
401- format!( "{}" , super :: VecDisplay :: new_at_most( & vec![ 1 , 2 , 3 , 4 ] , 0 ) ) ,
402- "[...]"
403- ) ;
404- }
405-
406323 #[ test]
407324 fn test_tx_display_with_bool_expression ( ) {
408325 let expr = BooleanExpression :: from_conditions_and ( [
0 commit comments