Skip to main content

object_rainbow/impls/
i8.rs

1use typenum::U1;
2
3use crate::*;
4
5impl ToOutput for i8 {
6    fn to_output(&self, output: &mut dyn crate::Output) {
7        output.write(&self.to_le_bytes());
8    }
9}
10
11impl InlineOutput for i8 {}
12
13impl<I: ParseInput> Parse<I> for i8 {
14    fn parse(input: I) -> crate::Result<Self> {
15        ParseInline::parse_as_inline(input)
16    }
17}
18
19impl<I: ParseInput> ParseInline<I> for i8 {
20    fn parse_inline(input: &mut I) -> crate::Result<Self> {
21        Ok(Self::from_le_bytes(*input.parse_chunk::<1>()?))
22    }
23}
24
25impl Size for i8 {
26    type Size = U1;
27    const SIZE: usize = 1;
28}