use crate::io::AsyncRead;
#[allow(async_fn_in_trait)]
pub trait AsyncBufRead: AsyncRead {
async fn fill_buf(&mut self) -> std::io::Result<&'_ [u8]>;
fn consume(&mut self, amount: usize);
fn buffer(&self) -> &[u8];
}
impl<T: AsyncBufRead + ?Sized> AsyncBufRead for &mut T {
async fn fill_buf(&mut self) -> std::io::Result<&'_ [u8]> {
(**self).fill_buf().await
}
fn consume(&mut self, amount: usize) {
(**self).consume(amount)
}
fn buffer(&self) -> &[u8] {
(**self).buffer()
}
}