Finally figured out how I want atoms to work
This commit is contained in:
@@ -2,16 +2,16 @@ use std::io::{Read, Write};
|
||||
|
||||
use crate::Encode;
|
||||
|
||||
pub fn encode_enum<W: Write>(write: &mut W, id: u8, f: impl FnOnce(&mut W)) {
|
||||
pub fn encode_enum<W: Write + ?Sized>(write: &mut W, id: u8, f: impl FnOnce(&mut W)) {
|
||||
id.encode(write);
|
||||
f(write)
|
||||
}
|
||||
|
||||
pub fn write_exact(write: &mut impl Write, bytes: &'static [u8]) {
|
||||
pub fn write_exact<W: Write + ?Sized>(write: &mut W, bytes: &'static [u8]) {
|
||||
write.write_all(bytes).expect("Failed to write exact bytes")
|
||||
}
|
||||
|
||||
pub fn read_exact(read: &mut impl Read, bytes: &'static [u8]) {
|
||||
pub fn read_exact<R: Read + ?Sized>(read: &mut R, bytes: &'static [u8]) {
|
||||
let mut data = vec![0u8; bytes.len()];
|
||||
read.read_exact(&mut data).expect("Failed to read bytes");
|
||||
assert_eq!(&data, bytes, "Wrong bytes")
|
||||
|
||||
Reference in New Issue
Block a user