1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
use std::io::Read;
pub trait AsResource<'a> {
type Reader: Read;
fn into_read(self) -> Self::Reader;
}
impl<'a, T> AsResource<'a> for &'a mut T
where
T: Read,
{
type Reader = &'a mut T;
fn into_read(self) -> Self::Reader {
self
}
}
impl<'a> AsResource<'a> for &'a str {
type Reader = &'a [u8];
fn into_read(self) -> Self::Reader {
self.as_bytes()
}
}