Enum frame_metadata::DecodeDifferent
source · [−]pub enum DecodeDifferent<B, O> where
B: 'static,
O: 'static, {
Encode(B),
Decoded(O),
}
Expand description
A type that decodes to a different type than it encodes. The user needs to make sure that both types use the same encoding.
For example a &'static [ &'static str ]
can be decoded to a Vec<String>
.
Variants
Encode(B)
Decoded(O)
Trait Implementations
sourceimpl<B: Clone, O: Clone> Clone for DecodeDifferent<B, O> where
B: 'static,
O: 'static,
impl<B: Clone, O: Clone> Clone for DecodeDifferent<B, O> where
B: 'static,
O: 'static,
sourcefn clone(&self) -> DecodeDifferent<B, O>
fn clone(&self) -> DecodeDifferent<B, O>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<B, O> Debug for DecodeDifferent<B, O> where
B: Debug + Eq + 'static,
O: Debug + Eq + 'static,
impl<B, O> Debug for DecodeDifferent<B, O> where
B: Debug + Eq + 'static,
O: Debug + Eq + 'static,
sourceimpl<B, O> Decode for DecodeDifferent<B, O> where
B: 'static,
O: Decode + 'static,
impl<B, O> Decode for DecodeDifferent<B, O> where
B: 'static,
O: Decode + 'static,
sourcefn decode<I: Input>(input: &mut I) -> Result<Self, Error>
fn decode<I: Input>(input: &mut I) -> Result<Self, Error>
Attempt to deserialise the value from input.
sourcefn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<B, O> Encode for DecodeDifferent<B, O> where
B: Encode + 'static,
O: Encode + 'static,
impl<B, O> Encode for DecodeDifferent<B, O> where
B: Encode + 'static,
O: Encode + 'static,
sourcefn encode_to<W: Output + ?Sized>(&self, dest: &mut W)
fn encode_to<W: Output + ?Sized>(&self, dest: &mut W)
Convert self to a slice and append it to the destination.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl<B, O> PartialEq<DecodeDifferent<B, O>> for DecodeDifferent<B, O> where
B: Encode + Eq + PartialEq + 'static,
O: Encode + Eq + PartialEq + 'static,
impl<B, O> PartialEq<DecodeDifferent<B, O>> for DecodeDifferent<B, O> where
B: Encode + Eq + PartialEq + 'static,
O: Encode + Eq + PartialEq + 'static,
sourceimpl<B, O> Serialize for DecodeDifferent<B, O> where
B: Serialize + 'static,
O: Serialize + 'static,
impl<B, O> Serialize for DecodeDifferent<B, O> where
B: Serialize + 'static,
O: Serialize + 'static,
impl<B, O> EncodeLike<DecodeDifferent<B, O>> for DecodeDifferent<B, O> where
B: Encode + 'static,
O: Encode + 'static,
impl<B, O> Eq for DecodeDifferent<B, O> where
B: Encode + Eq + PartialEq + 'static,
O: Encode + Eq + PartialEq + 'static,
Auto Trait Implementations
impl<B, O> RefUnwindSafe for DecodeDifferent<B, O> where
B: RefUnwindSafe,
O: RefUnwindSafe,
impl<B, O> Send for DecodeDifferent<B, O> where
B: Send,
O: Send,
impl<B, O> Sync for DecodeDifferent<B, O> where
B: Sync,
O: Sync,
impl<B, O> Unpin for DecodeDifferent<B, O> where
B: Unpin,
O: Unpin,
impl<B, O> UnwindSafe for DecodeDifferent<B, O> where
B: UnwindSafe,
O: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.