From 4f71fd5d4de06b4a28af88c0d42ff34f19fc452d Mon Sep 17 00:00:00 2001 From: NikVolf Date: Sat, 26 Mar 2016 03:15:27 +0300 Subject: [PATCH] avoid copy --- rpc/src/v1/impls/web3.rs | 3 ++- rpc/src/v1/types/bytes.rs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/rpc/src/v1/impls/web3.rs b/rpc/src/v1/impls/web3.rs index 72651dd4e..dcea09ec6 100644 --- a/rpc/src/v1/impls/web3.rs +++ b/rpc/src/v1/impls/web3.rs @@ -40,7 +40,8 @@ impl Web3 for Web3Client { fn sha3(&self, params: Params) -> Result { from_params::<(Bytes,)>(params).and_then( |(data,)| { - let sha3 = data.to_vec().sha3(); + let Bytes(ref v) = data; + let sha3 = v.sha3(); to_value(&sha3) } ) diff --git a/rpc/src/v1/types/bytes.rs b/rpc/src/v1/types/bytes.rs index 8c47806f8..efae15ef6 100644 --- a/rpc/src/v1/types/bytes.rs +++ b/rpc/src/v1/types/bytes.rs @@ -21,7 +21,7 @@ use util::common::FromHex; /// Wrapper structure around vector of bytes. #[derive(Debug, PartialEq, Default)] -pub struct Bytes(Vec); +pub struct Bytes(pub Vec); impl Bytes { /// Simple constructor.