object_rainbow/impls/
bytes.rs

1use typenum::ToUInt;
2
3use crate::*;
4
5impl<const N: usize, I: ParseInput> Parse<I> for [u8; N] {
6    fn parse(input: I) -> crate::Result<Self> {
7        ParseInline::parse_as_inline(input)
8    }
9}
10
11impl<const N: usize, I: ParseInput> ParseInline<I> for [u8; N] {
12    fn parse_inline(input: &mut I) -> crate::Result<Self> {
13        input.parse_chunk().copied()
14    }
15}
16
17impl<const N: usize> MaybeHasNiche for [u8; N]
18where
19    typenum::generic_const_mappings::Const<N>: ToUInt<Output: ArrayLength>,
20{
21    type MnArray = NoNiche<ZeroNoNiche<typenum::generic_const_mappings::U<N>>>;
22}
23
24impl<const N: usize, Extra: 'static> Object<Extra> for [u8; N] {}
25impl<const N: usize, Extra: 'static> Inline<Extra> for [u8; N] {}
26impl<const N: usize> ReflessObject for [u8; N] {}
27impl<const N: usize> ReflessInline for [u8; N] {}