use crate::file::{ArchiveFile, ArchiveFileRead, ArchiveFileWrite}; use std::io::{Read, Write}; pub struct FileInfo {} pub struct FileReader {} pub struct FileWriter {} impl ArchiveFile for FileReader { type Info = FileInfo; fn info() -> Self::Info { Self::Info {} } } impl Read for FileReader { fn read(&mut self, buf: &mut [u8]) -> std::io::Result { return Ok(0); } } impl ArchiveFileRead for FileReader {} impl ArchiveFile for FileWriter { type Info = FileInfo; fn info() -> Self::Info { Self::Info {} } } impl Write for FileWriter { fn write(&mut self, buf: &[u8]) -> std::io::Result { return Ok(0); } fn flush(&mut self) -> std::io::Result<()> { Ok(()) } } impl ArchiveFileWrite for FileWriter {}