use std::io::{Read, Result as IOResult}; pub trait ReadUtils { fn read_arr(&mut self) -> IOResult<[u8; S]>; fn read_vec(&mut self, size: usize) -> IOResult>; } impl ReadUtils for R { #[inline] fn read_arr(&mut self) -> Result<[u8; S], std::io::Error> { let mut arr = [0; S]; self.read_exact(&mut arr)?; Ok(arr) } #[inline] fn read_vec(&mut self, size: usize) -> Result, std::io::Error> { let mut vec = vec![0; size]; self.read_exact(&mut vec)?; Ok(vec) } }