File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -197,7 +197,8 @@ impl<T: CanonicalSerialize> CanonicalSerialize for Option<T> {
197197
198198 #[ inline]
199199 fn serialized_size ( & self , compress : Compress ) -> usize {
200- 8 + self . as_ref ( ) . map ( |s| s. serialized_size ( compress) ) . unwrap_or ( 0 )
200+ bool:: serialized_size ( & self . is_some ( ) , compress)
201+ + self . as_ref ( ) . map ( |s| s. serialized_size ( compress) ) . unwrap_or ( 0 )
201202 }
202203}
203204
@@ -637,10 +638,12 @@ mod test {
637638 ( Compress :: Yes , Validate :: Yes ) ,
638639 ] ;
639640 for ( compress, validate) in combinations {
640- let mut serialized = vec ! [ 0 ; data . serialized_size ( compress ) ] ;
641- data. serialize_with_mode ( & mut serialized[ .. ] , compress) . unwrap ( ) ;
641+ let mut serialized = vec ! [ ] ;
642+ data. serialize_with_mode ( & mut serialized, compress) . unwrap ( ) ;
642643 let de = T :: deserialize_with_mode ( & serialized[ ..] , compress, validate) . unwrap ( ) ;
643644 assert_eq ! ( data, de) ;
645+
646+ assert_eq ! ( data. serialized_size( compress) , serialized. len( ) ) ;
644647 }
645648 }
646649
You can’t perform that action at this time.
0 commit comments