pub trait BitUnpackAsWithArgs<T> {
type Args;
// Required method
fn unpack_as_with<R>(reader: R, args: Self::Args) -> Result<T, R::Error>
where R: BitReader;
}Expand description
Adapter to deserialize T with args.
See as module-level documentation for more.
For version without arguments, see BitUnpackAs.
Required Associated Types§
Required Methods§
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl<Left, Right, AsLeft, AsRight> BitUnpackAsWithArgs<Either<Left, Right>> for Either<AsLeft, AsRight>
impl<Left, Right, AsLeft, AsRight> BitUnpackAsWithArgs<Either<Left, Right>> for Either<AsLeft, AsRight>
Implementation of Either X Y:
left$0 {X:Type} {Y:Type} value:X = Either X Y;
right$1 {X:Type} {Y:Type} value:Y = Either X Y;
source§impl<T0, As0> BitUnpackAsWithArgs<(T0,)> for (As0,)where
As0: BitUnpackAsWithArgs<T0>,
impl<T0, As0> BitUnpackAsWithArgs<(T0,)> for (As0,)where
As0: BitUnpackAsWithArgs<T0>,
source§impl<T0, As0, T1, As1> BitUnpackAsWithArgs<(T0, T1)> for (As0, As1)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
impl<T0, As0, T1, As1> BitUnpackAsWithArgs<(T0, T1)> for (As0, As1)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args)
fn unpack_as_with<R>(reader: R, args: Self::Args) -> Result<(T0, T1), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2> BitUnpackAsWithArgs<(T0, T1, T2)> for (As0, As1, As2)
impl<T0, As0, T1, As1, T2, As2> BitUnpackAsWithArgs<(T0, T1, T2)> for (As0, As1, As2)
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2, T3, As3> BitUnpackAsWithArgs<(T0, T1, T2, T3)> for (As0, As1, As2, As3)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
impl<T0, As0, T1, As1, T2, As2, T3, As3> BitUnpackAsWithArgs<(T0, T1, T2, T3)> for (As0, As1, As2, As3)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args, <As3 as BitUnpackAsWithArgs<T3>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2, T3), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4)> for (As0, As1, As2, As3, As4)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4)> for (As0, As1, As2, As3, As4)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args, <As3 as BitUnpackAsWithArgs<T3>>::Args, <As4 as BitUnpackAsWithArgs<T4>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2, T3, T4), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5)> for (As0, As1, As2, As3, As4, As5)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5)> for (As0, As1, As2, As3, As4, As5)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args, <As3 as BitUnpackAsWithArgs<T3>>::Args, <As4 as BitUnpackAsWithArgs<T4>>::Args, <As5 as BitUnpackAsWithArgs<T5>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2, T3, T4, T5), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6)> for (As0, As1, As2, As3, As4, As5, As6)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6)> for (As0, As1, As2, As3, As4, As5, As6)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args, <As3 as BitUnpackAsWithArgs<T3>>::Args, <As4 as BitUnpackAsWithArgs<T4>>::Args, <As5 as BitUnpackAsWithArgs<T5>>::Args, <As6 as BitUnpackAsWithArgs<T6>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2, T3, T4, T5, T6), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6, T7)> for (As0, As1, As2, As3, As4, As5, As6, As7)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
As7: BitUnpackAsWithArgs<T7>,
impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6, T7)> for (As0, As1, As2, As3, As4, As5, As6, As7)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
As7: BitUnpackAsWithArgs<T7>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args, <As3 as BitUnpackAsWithArgs<T3>>::Args, <As4 as BitUnpackAsWithArgs<T4>>::Args, <As5 as BitUnpackAsWithArgs<T5>>::Args, <As6 as BitUnpackAsWithArgs<T6>>::Args, <As7 as BitUnpackAsWithArgs<T7>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2, T3, T4, T5, T6, T7), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
As7: BitUnpackAsWithArgs<T7>,
As8: BitUnpackAsWithArgs<T8>,
impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
As7: BitUnpackAsWithArgs<T7>,
As8: BitUnpackAsWithArgs<T8>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args, <As3 as BitUnpackAsWithArgs<T3>>::Args, <As4 as BitUnpackAsWithArgs<T4>>::Args, <As5 as BitUnpackAsWithArgs<T5>>::Args, <As6 as BitUnpackAsWithArgs<T6>>::Args, <As7 as BitUnpackAsWithArgs<T7>>::Args, <As8 as BitUnpackAsWithArgs<T8>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2, T3, T4, T5, T6, T7, T8), R::Error>where
R: BitReader,
source§impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
As7: BitUnpackAsWithArgs<T7>,
As8: BitUnpackAsWithArgs<T8>,
As9: BitUnpackAsWithArgs<T9>,
impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9> BitUnpackAsWithArgs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9)where
As0: BitUnpackAsWithArgs<T0>,
As1: BitUnpackAsWithArgs<T1>,
As2: BitUnpackAsWithArgs<T2>,
As3: BitUnpackAsWithArgs<T3>,
As4: BitUnpackAsWithArgs<T4>,
As5: BitUnpackAsWithArgs<T5>,
As6: BitUnpackAsWithArgs<T6>,
As7: BitUnpackAsWithArgs<T7>,
As8: BitUnpackAsWithArgs<T8>,
As9: BitUnpackAsWithArgs<T9>,
type Args = (<As0 as BitUnpackAsWithArgs<T0>>::Args, <As1 as BitUnpackAsWithArgs<T1>>::Args, <As2 as BitUnpackAsWithArgs<T2>>::Args, <As3 as BitUnpackAsWithArgs<T3>>::Args, <As4 as BitUnpackAsWithArgs<T4>>::Args, <As5 as BitUnpackAsWithArgs<T5>>::Args, <As6 as BitUnpackAsWithArgs<T6>>::Args, <As7 as BitUnpackAsWithArgs<T7>>::Args, <As8 as BitUnpackAsWithArgs<T8>>::Args, <As9 as BitUnpackAsWithArgs<T9>>::Args)
fn unpack_as_with<R>(
reader: R,
args: Self::Args,
) -> Result<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9), R::Error>where
R: BitReader,
source§impl<T, As> BitUnpackAsWithArgs<Option<T>> for Option<As>where
As: BitUnpackAsWithArgs<T>,
impl<T, As> BitUnpackAsWithArgs<Option<T>> for Option<As>where
As: BitUnpackAsWithArgs<T>,
Implementation of Maybe X:
nothing$0 {X:Type} = Maybe X;
just$1 {X:Type} value:X = Maybe X;