use std::borrow::Cow;
use crate::error::Result;
pub trait File: Sized {
fn read<'a>(data: impl Into<Cow<'a, [u8]>>) -> Result<Self>;
}
impl File for Vec<u8> {
fn read<'a>(data: impl Into<Cow<'a, [u8]>>) -> Result<Self> {
let cow: Cow<[u8]> = data.into();
Ok(cow.into_owned())
}
}