@@ -1020,91 +1020,91 @@ mod qc {
10201020 }
10211021 }
10221022
1023- fn prop_serialize < T > ( item : T ) -> bool
1023+ fn prop_serialize < T > ( item : & T ) -> bool
10241024 where
10251025 T : Serialize + PartialEq + Clone + std:: fmt:: Debug ,
10261026 {
1027- let mut buf = vec ! [ 0 ; item. serialized_size( ) as usize ] ;
1027+ let mut buf = vec ! [ 0 ; usize :: try_from ( item. serialized_size( ) ) . unwrap ( ) ] ;
10281028 let buf_ref = & mut buf. as_mut_slice ( ) ;
10291029 item. serialize_into ( buf_ref) ;
10301030 assert_eq ! (
10311031 buf_ref. len( ) ,
10321032 0 ,
10331033 "round-trip failed to consume produced bytes"
10341034 ) ;
1035- assert_eq ! ( buf. len( ) , item. serialized_size( ) as usize , ) ;
1035+ assert_eq ! ( buf. len( ) as u64 , item. serialized_size( ) ) ;
10361036 let deserialized = T :: deserialize ( & mut buf. as_slice ( ) ) . unwrap ( ) ;
1037- if item != deserialized {
1037+ if * item == deserialized {
1038+ true
1039+ } else {
10381040 eprintln ! (
10391041 "round-trip serialization failed. original:\n \n {:?}\n \n \
10401042 deserialized(serialized(original)):\n \n {:?}",
10411043 item, deserialized
10421044 ) ;
10431045 false
1044- } else {
1045- true
10461046 }
10471047 }
10481048
10491049 quickcheck:: quickcheck! {
10501050 #[ cfg_attr( miri, ignore) ]
10511051 fn bool ( item: bool ) -> bool {
1052- prop_serialize( item)
1052+ prop_serialize( & item)
10531053 }
10541054
10551055 #[ cfg_attr( miri, ignore) ]
10561056 fn u8 ( item: u8 ) -> bool {
1057- prop_serialize( item)
1057+ prop_serialize( & item)
10581058 }
10591059
10601060 #[ cfg_attr( miri, ignore) ]
10611061 fn i64 ( item: SpreadI64 ) -> bool {
1062- prop_serialize( item. 0 )
1062+ prop_serialize( & item. 0 )
10631063 }
10641064
10651065 #[ cfg_attr( miri, ignore) ]
10661066 fn u64 ( item: SpreadU64 ) -> bool {
1067- prop_serialize( item. 0 )
1067+ prop_serialize( & item. 0 )
10681068 }
10691069
10701070 #[ cfg_attr( miri, ignore) ]
10711071 fn disk_ptr( item: DiskPtr ) -> bool {
1072- prop_serialize( item)
1072+ prop_serialize( & item)
10731073 }
10741074
10751075 #[ cfg_attr( miri, ignore) ]
10761076 fn page_state( item: PageState ) -> bool {
1077- prop_serialize( item)
1077+ prop_serialize( & item)
10781078 }
10791079
10801080 #[ cfg_attr( miri, ignore) ]
10811081 fn meta( item: Meta ) -> bool {
1082- prop_serialize( item)
1082+ prop_serialize( & item)
10831083 }
10841084
10851085 #[ cfg_attr( miri, ignore) ]
10861086 fn snapshot( item: Snapshot ) -> bool {
1087- prop_serialize( item)
1087+ prop_serialize( & item)
10881088 }
10891089
10901090 #[ cfg_attr( miri, ignore) ]
10911091 fn node( item: Node ) -> bool {
1092- prop_serialize( item)
1092+ prop_serialize( & item)
10931093 }
10941094
10951095 #[ cfg_attr( miri, ignore) ]
10961096 fn data( item: Data ) -> bool {
1097- prop_serialize( item)
1097+ prop_serialize( & item)
10981098 }
10991099
11001100 #[ cfg_attr( miri, ignore) ]
11011101 fn link( item: Link ) -> bool {
1102- prop_serialize( item)
1102+ prop_serialize( & item)
11031103 }
11041104
11051105 #[ cfg_attr( miri, ignore) ]
11061106 fn msg_header( item: MessageHeader ) -> bool {
1107- prop_serialize( item)
1107+ prop_serialize( & item)
11081108 }
11091109 }
11101110
@@ -1122,6 +1122,6 @@ mod qc {
11221122 data : Data :: Index ( Index :: default ( ) ) ,
11231123 } ;
11241124
1125- prop_serialize ( node) ;
1125+ prop_serialize ( & node) ;
11261126 }
11271127}
0 commit comments