pub trait BitUnpackAs<'de, T> {
// Required method
fn unpack_as<R>(reader: R) -> Result<T, R::Error>
where R: BitReader<'de>;
}Expand description
Adapter to deserialize T.
See as module-level documentation for more.
For dynamic arguments, see
BitUnackAsWithArgs.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<'de, 'a, T, As> BitUnpackAs<'de, Cow<'a, T>> for Cow<'a, As>
Always unpacks as Cow::Owned
impl<'de, 'a, T, As> BitUnpackAs<'de, Cow<'a, T>> for Cow<'a, As>
Always unpacks as Cow::Owned
Source§impl<'de, Left, Right, AsLeft, AsRight> BitUnpackAs<'de, Either<Left, Right>> for Either<AsLeft, AsRight>where
AsLeft: BitUnpackAs<'de, Left>,
AsRight: BitUnpackAs<'de, Right>,
Implementation of Either X Y:
impl<'de, Left, Right, AsLeft, AsRight> BitUnpackAs<'de, Either<Left, Right>> for Either<AsLeft, AsRight>where
AsLeft: BitUnpackAs<'de, Left>,
AsRight: BitUnpackAs<'de, Right>,
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<'de, T0, As0> BitUnpackAs<'de, (T0,)> for (As0,)where
As0: BitUnpackAs<'de, T0>,
impl<'de, T0, As0> BitUnpackAs<'de, (T0,)> for (As0,)where
As0: BitUnpackAs<'de, T0>,
Source§impl<'de, T0, As0, T1, As1> BitUnpackAs<'de, (T0, T1)> for (As0, As1)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
impl<'de, T0, As0, T1, As1> BitUnpackAs<'de, (T0, T1)> for (As0, As1)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
Source§impl<'de, T0, As0, T1, As1, T2, As2> BitUnpackAs<'de, (T0, T1, T2)> for (As0, As1, As2)
impl<'de, T0, As0, T1, As1, T2, As2> BitUnpackAs<'de, (T0, T1, T2)> for (As0, As1, As2)
Source§impl<'de, T0, As0, T1, As1, T2, As2, T3, As3> BitUnpackAs<'de, (T0, T1, T2, T3)> for (As0, As1, As2, As3)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
impl<'de, T0, As0, T1, As1, T2, As2, T3, As3> BitUnpackAs<'de, (T0, T1, T2, T3)> for (As0, As1, As2, As3)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
Source§impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4> BitUnpackAs<'de, (T0, T1, T2, T3, T4)> for (As0, As1, As2, As3, As4)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4> BitUnpackAs<'de, (T0, T1, T2, T3, T4)> for (As0, As1, As2, As3, As4)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
Source§impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5)> for (As0, As1, As2, As3, As4, As5)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5)> for (As0, As1, As2, As3, As4, As5)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
Source§impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6)> for (As0, As1, As2, As3, As4, As5, As6)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6)> for (As0, As1, As2, As3, As4, As5, As6)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
Source§impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7)> for (As0, As1, As2, As3, As4, As5, As6, As7)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
As7: BitUnpackAs<'de, T7>,
impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7)> for (As0, As1, As2, As3, As4, As5, As6, As7)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
As7: BitUnpackAs<'de, T7>,
Source§impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
As7: BitUnpackAs<'de, T7>,
As8: BitUnpackAs<'de, T8>,
impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
As7: BitUnpackAs<'de, T7>,
As8: BitUnpackAs<'de, T8>,
Source§impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
As7: BitUnpackAs<'de, T7>,
As8: BitUnpackAs<'de, T8>,
As9: BitUnpackAs<'de, T9>,
impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9> BitUnpackAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9)where
As0: BitUnpackAs<'de, T0>,
As1: BitUnpackAs<'de, T1>,
As2: BitUnpackAs<'de, T2>,
As3: BitUnpackAs<'de, T3>,
As4: BitUnpackAs<'de, T4>,
As5: BitUnpackAs<'de, T5>,
As6: BitUnpackAs<'de, T6>,
As7: BitUnpackAs<'de, T7>,
As8: BitUnpackAs<'de, T8>,
As9: BitUnpackAs<'de, T9>,
Source§impl<'de, T, As> BitUnpackAs<'de, Option<T>> for Option<As>where
As: BitUnpackAs<'de, T>,
Implementation of Maybe X:
impl<'de, T, As> BitUnpackAs<'de, Option<T>> for Option<As>where
As: BitUnpackAs<'de, T>,
Implementation of Maybe X:
nothing$0 {X:Type} = Maybe X;
just$1 {X:Type} value:X = Maybe X;