Skip to content

Commit c7d6cdb

Browse files
committed
Merge #401: Breaking: changed Parity serialization to u8
e6cb588 Breaking: changed `Parity` serialization to `u8` (Martin Habovstiak) Pull request description: Serializing the value as `u8` is more compact but this is a breaking change. `Visitor` was renamed to avoid hungarian notation and maybe allow other integers in the future. For next major version, depends on #400 ACKs for top commit: tcharding: tACK e6cb588 apoelstra: ACK e6cb588 Tree-SHA512: 1432a2f3c913c3a7eaec5228fd2dd4e8320d828128bec71812cbf56dd8950c969ed22c69867402eb9e820127868d29b291f3374c6e15de0a3ff2341420c4bbab
2 parents ce255fd + e6cb588 commit c7d6cdb

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/key.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1271,41 +1271,41 @@ impl BitXor for Parity {
12711271
}
12721272
}
12731273

1274-
/// The parity is serialized as `i32` - `0` for even, `1` for odd.
1274+
/// The parity is serialized as `u8` - `0` for even, `1` for odd.
12751275
#[cfg(feature = "serde")]
12761276
#[cfg_attr(docsrs, doc(cfg(feature = "serde")))]
12771277
impl ::serde::Serialize for Parity {
12781278
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1279-
s.serialize_i32(self.to_i32())
1279+
s.serialize_u8(self.to_u8())
12801280
}
12811281
}
12821282

1283-
/// The parity is deserialized as `i32` - `0` for even, `1` for odd.
1283+
/// The parity is deserialized as `u8` - `0` for even, `1` for odd.
12841284
#[cfg(feature = "serde")]
12851285
#[cfg_attr(docsrs, doc(cfg(feature = "serde")))]
12861286
impl<'de> ::serde::Deserialize<'de> for Parity {
12871287
fn deserialize<D: ::serde::Deserializer<'de>>(d: D) -> Result<Self, D::Error> {
1288-
struct I32Visitor;
1288+
struct Visitor;
12891289

1290-
impl<'de> ::serde::de::Visitor<'de> for I32Visitor
1290+
impl<'de> ::serde::de::Visitor<'de> for Visitor
12911291
{
12921292
type Value = Parity;
12931293

12941294
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1295-
formatter.write_str("32-bit integer with value 0 or 1")
1295+
formatter.write_str("8-bit integer (byte) with value 0 or 1")
12961296
}
12971297

1298-
fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>
1298+
fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
12991299
where E: ::serde::de::Error
13001300
{
13011301
use serde::de::Unexpected;
13021302

1303-
Parity::from_i32(v)
1304-
.map_err(|_| E::invalid_value(Unexpected::Signed(v.into()), &"0 or 1"))
1303+
Parity::from_u8(v)
1304+
.map_err(|_| E::invalid_value(Unexpected::Unsigned(v.into()), &"0 or 1"))
13051305
}
13061306
}
13071307

1308-
d.deserialize_i32(I32Visitor)
1308+
d.deserialize_u8(Visitor)
13091309
}
13101310
}
13111311

0 commit comments

Comments
 (0)