@@ -94,7 +94,7 @@ pub mod descriptor_proto {
94
94
/// fields or extension ranges in the same message. Reserved ranges may
95
95
/// not overlap.
96
96
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
97
- #[ derive( Clone , Copy , PartialEq , :: prost:: Message ) ]
97
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , :: prost:: Message ) ]
98
98
pub struct ReservedRange {
99
99
/// Inclusive.
100
100
#[ prost( int32, optional, tag = "1" ) ]
@@ -362,7 +362,7 @@ pub mod enum_descriptor_proto {
362
362
/// is inclusive such that it can appropriately represent the entire int32
363
363
/// domain.
364
364
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
365
- #[ derive( Clone , Copy , PartialEq , :: prost:: Message ) ]
365
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , :: prost:: Message ) ]
366
366
pub struct EnumReservedRange {
367
367
/// Inclusive.
368
368
#[ prost( int32, optional, tag = "1" ) ]
@@ -990,7 +990,7 @@ pub mod uninterpreted_option {
990
990
/// E.g.,{ \["foo", false\], \["bar.baz", true\], \["qux", false\] } represents
991
991
/// "foo.(bar.baz).qux".
992
992
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
993
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
993
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
994
994
pub struct NamePart {
995
995
#[ prost( string, required, tag = "1" ) ]
996
996
pub name_part : :: prost:: alloc:: string:: String ,
@@ -1053,7 +1053,7 @@ pub struct SourceCodeInfo {
1053
1053
/// Nested message and enum types in `SourceCodeInfo`.
1054
1054
pub mod source_code_info {
1055
1055
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
1056
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1056
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
1057
1057
pub struct Location {
1058
1058
/// Identifies which part of the FileDescriptorProto was defined at this
1059
1059
/// location.
@@ -1158,7 +1158,7 @@ pub struct GeneratedCodeInfo {
1158
1158
/// Nested message and enum types in `GeneratedCodeInfo`.
1159
1159
pub mod generated_code_info {
1160
1160
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
1161
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1161
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
1162
1162
pub struct Annotation {
1163
1163
/// Identifies the element in the original source .proto file. This field
1164
1164
/// is formatted the same as SourceCodeInfo.Location.path.
@@ -1272,7 +1272,7 @@ pub mod generated_code_info {
1272
1272
/// }
1273
1273
/// ```
1274
1274
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
1275
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1275
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
1276
1276
pub struct Any {
1277
1277
/// A URL/resource name that uniquely identifies the type of the serialized
1278
1278
/// protocol buffer message. This string must contain at least
@@ -1310,7 +1310,7 @@ pub struct Any {
1310
1310
/// `SourceContext` represents information about the source of a
1311
1311
/// protobuf element, like the file in which it is defined.
1312
1312
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
1313
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1313
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
1314
1314
pub struct SourceContext {
1315
1315
/// The path-qualified name of the .proto file that contained the associated
1316
1316
/// protobuf element. For example: `"google/protobuf/source_context.proto"`.
@@ -1573,7 +1573,7 @@ pub struct EnumValue {
1573
1573
/// A protocol buffer option, which can be attached to a message, field,
1574
1574
/// enumeration, etc.
1575
1575
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
1576
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1576
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
1577
1577
pub struct Option {
1578
1578
/// The option's name. For protobuf built-in options (options defined in
1579
1579
/// descriptor.proto), this is the short name. For example, `"map_entry"`.
@@ -1787,7 +1787,7 @@ pub struct Method {
1787
1787
/// }
1788
1788
/// ```
1789
1789
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
1790
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1790
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
1791
1791
pub struct Mixin {
1792
1792
/// The fully qualified name of the interface which is included.
1793
1793
#[ prost( string, tag = "1" ) ]
@@ -1862,7 +1862,7 @@ pub struct Mixin {
1862
1862
/// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
1863
1863
/// microsecond should be expressed in JSON format as "3.000001s".
1864
1864
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
1865
- #[ derive( Clone , Copy , PartialEq , :: prost:: Message ) ]
1865
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , :: prost:: Message ) ]
1866
1866
pub struct Duration {
1867
1867
/// Signed seconds of the span of time. Must be from -315,576,000,000
1868
1868
/// to +315,576,000,000 inclusive. Note: these bounds are computed from:
@@ -2101,7 +2101,7 @@ pub struct Duration {
2101
2101
/// request should verify the included field paths, and return an
2102
2102
/// `INVALID_ARGUMENT` error if any path is unmappable.
2103
2103
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
2104
- #[ derive( Clone , PartialEq , :: prost:: Message ) ]
2104
+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
2105
2105
pub struct FieldMask {
2106
2106
/// The set of field mask paths.
2107
2107
#[ prost( string, repeated, tag = "1" ) ]
@@ -2303,7 +2303,7 @@ impl NullValue {
2303
2303
/// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
2304
2304
/// the Joda Time's [`ISODateTimeFormat.dateTime()`](<http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D>) to obtain a formatter capable of generating timestamps in this format.
2305
2305
#[ cfg_attr( feature = "arbitrary" , derive( arbitrary:: Arbitrary ) ) ]
2306
- #[ derive( Clone , Copy , PartialEq , :: prost:: Message ) ]
2306
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , :: prost:: Message ) ]
2307
2307
pub struct Timestamp {
2308
2308
/// Represents seconds of UTC time since Unix epoch
2309
2309
/// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
0 commit comments