Use EncodeLike for storages traits (#3676)

* impl

* patch

* lock

* some refactor

* some avoided copy

* new api without ref for doublemap

* fix

* version bump

* fix

* point to incoming release

* use codec latest

* bumpd impl version

* fix unused

* fix

* Update srml/support/src/storage/mod.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
thiolliere
2019-10-01 19:45:24 +02:00
committed by Bastian Köcher
parent 83d4764d46
commit 53e0ddee4e
36 changed files with 489 additions and 465 deletions
+5 -5
View File
@@ -20,7 +20,7 @@
pub use crate::rstd::{result, prelude::{Vec, Clone, Eq, PartialEq}, marker};
#[cfg(feature = "std")]
pub use std::fmt;
pub use crate::codec::{Codec, Decode, Encode, Input, Output, HasCompact, EncodeAsRef};
pub use crate::codec::{Codec, EncodeLike, Decode, Encode, Input, Output, HasCompact, EncodeAsRef};
pub use srml_metadata::{
FunctionMetadata, DecodeDifferent, DecodeDifferentArray, FunctionArgumentMetadata,
ModuleConstantMetadata, DefaultByte, DefaultByteGetter,
@@ -49,16 +49,16 @@ pub trait Callable<T> {
pub type CallableCallFor<A, T> = <A as Callable<T>>::Call;
#[cfg(feature = "std")]
pub trait Parameter: Codec + Clone + Eq + fmt::Debug {}
pub trait Parameter: Codec + EncodeLike + Clone + Eq + fmt::Debug {}
#[cfg(feature = "std")]
impl<T> Parameter for T where T: Codec + Clone + Eq + fmt::Debug {}
impl<T> Parameter for T where T: Codec + EncodeLike + Clone + Eq + fmt::Debug {}
#[cfg(not(feature = "std"))]
pub trait Parameter: Codec + Clone + Eq {}
pub trait Parameter: Codec + EncodeLike + Clone + Eq {}
#[cfg(not(feature = "std"))]
impl<T> Parameter for T where T: Codec + Clone + Eq {}
impl<T> Parameter for T where T: Codec + EncodeLike + Clone + Eq {}
/// Declares a `Module` struct and a `Call` enum, which implements the dispatch logic.
///