bin_proto/impls/
phantom_data.rs1use bitstream_io::{BitRead, BitWrite, Endianness};
2
3use crate::{BitDecode, BitEncode, Result};
4use core::marker::PhantomData;
5
6impl<Ctx, T> BitDecode<Ctx> for PhantomData<T> {
7 fn decode<R, E>(_: &mut R, _: &mut Ctx, (): ()) -> Result<Self>
8 where
9 R: BitRead,
10 E: Endianness,
11 {
12 Ok(Self)
13 }
14}
15
16impl<Ctx, T> BitEncode<Ctx> for PhantomData<T> {
17 fn encode<W, E>(&self, _: &mut W, _: &mut Ctx, (): ()) -> Result<()>
18 where
19 W: BitWrite,
20 E: Endianness,
21 {
22 Ok(())
23 }
24}
25
26test_codec!(PhantomData<u8>; PhantomData => []);
27test_roundtrip!(PhantomData<u8>);