From eb4e00114c2f49aa0e9335002224da15922c7285 Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Thu, 29 Sep 2016 16:20:56 +0200 Subject: [PATCH] fix broken beta compilation --- ethkey/src/signature.rs | 4 +++- rpc/src/v1/types/hash.rs | 3 ++- rpc/src/v1/types/uint.rs | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ethkey/src/signature.rs b/ethkey/src/signature.rs index eec0fbf47..e1afb3940 100644 --- a/ethkey/src/signature.rs +++ b/ethkey/src/signature.rs @@ -25,7 +25,6 @@ use bigint::hash::{H520, H256, FixedHash}; use {Secret, Public, SECP256K1, Error, Message, public_to_address, Address}; #[repr(C)] -#[derive(Eq)] pub struct Signature([u8; 65]); impl Signature { @@ -76,6 +75,9 @@ impl PartialEq for Signature { } } +// manual implementation required in Rust 1.13+, see `std::cmp::AssertParamIsEq`. +impl Eq for Signature { } + // also manual for the same reason, but the pretty printing might be useful. impl fmt::Debug for Signature { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { diff --git a/rpc/src/v1/types/hash.rs b/rpc/src/v1/types/hash.rs index 3080aa031..3db0cf124 100644 --- a/rpc/src/v1/types/hash.rs +++ b/rpc/src/v1/types/hash.rs @@ -25,9 +25,10 @@ use util::{H64 as Eth64, H160 as Eth160, H256 as Eth256, H520 as Eth520, H512 as macro_rules! impl_hash { ($name: ident, $other: ident, $size: expr) => { /// Hash serialization - #[derive(Eq)] pub struct $name([u8; $size]); + impl Eq for $name { } + impl Default for $name { fn default() -> Self { $name([0; $size]) diff --git a/rpc/src/v1/types/uint.rs b/rpc/src/v1/types/uint.rs index 9be7b1170..ce0fa49a2 100644 --- a/rpc/src/v1/types/uint.rs +++ b/rpc/src/v1/types/uint.rs @@ -23,9 +23,11 @@ use util::{U256 as EthU256, Uint}; macro_rules! impl_uint { ($name: ident, $other: ident, $size: expr) => { /// Uint serialization. - #[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] + #[derive(Debug, Default, Clone, Copy, PartialEq, Hash)] pub struct $name($other); + impl Eq for $name { } + impl From for $name where $other: From { fn from(o: T) -> Self { $name($other::from(o))