pub trait ArgumentDecoder<'a>: Sized {
// Required method
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>;
}Expand description
Allow decoding of any sized argument.
Required Methods§
Sourcefn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Decodes a value of type Self, modifying the deserializer (values are consumed).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
P: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
P: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H, I, J, K, L> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H, I, J, K> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H, I, J> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H, I> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G, H> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F, G> ArgumentDecoder<'a> for (A, B, C, D, E, F, G)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G> ArgumentDecoder<'a> for (A, B, C, D, E, F, G)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E, F> ArgumentDecoder<'a> for (A, B, C, D, E, F)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F> ArgumentDecoder<'a> for (A, B, C, D, E, F)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D, E> ArgumentDecoder<'a> for (A, B, C, D, E)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E> ArgumentDecoder<'a> for (A, B, C, D, E)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C, D> ArgumentDecoder<'a> for (A, B, C, D)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D> ArgumentDecoder<'a> for (A, B, C, D)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B, C> ArgumentDecoder<'a> for (A, B, C)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
impl<'a, A, B, C> ArgumentDecoder<'a> for (A, B, C)where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A, B> ArgumentDecoder<'a> for (A, B)
impl<'a, A, B> ArgumentDecoder<'a> for (A, B)
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a, A> ArgumentDecoder<'a> for (A,)where
A: Deserialize<'a> + CandidType,
impl<'a, A> ArgumentDecoder<'a> for (A,)where
A: Deserialize<'a> + CandidType,
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Source§impl<'a> ArgumentDecoder<'a> for ()
Decode an empty tuple.
impl<'a> ArgumentDecoder<'a> for ()
Decode an empty tuple.