Use fully qualified syntax to avoid dyn

This commit is contained in:
Xavientois 2021-01-16 10:42:52 -05:00
parent 7869371bf1
commit c8e0f8aaa3
2 changed files with 22 additions and 2 deletions

View file

@ -2467,7 +2467,7 @@ impl<R: Read> Iterator for Bytes<R> {
}
fn size_hint(&self) -> (usize, Option<usize>) {
(&self.inner as &dyn SizeHint).size_hint()
SizeHint::size_hint(&self.inner)
}
}

View file

@ -1,7 +1,7 @@
use super::{repeat, Cursor, SeekFrom};
use crate::cmp::{self, min};
use crate::io::{self, IoSlice, IoSliceMut};
use crate::io::{BufRead, Read, Seek, Write};
use crate::io::{BufRead, BufReader, Read, Seek, Write};
use crate::ops::Deref;
#[test]
@ -198,6 +198,26 @@ fn chain_bufread() {
cmp_bufread(chain1, chain2, &testdata[..]);
}
#[test]
fn bufreader_size_hint() {
let testdata = b"ABCDEFGHIJKL";
let mut buf_reader = BufReader::new(&testdata[..]);
assert_eq!(buf_reader.buffer().len(), 0);
let buffer = buf_reader.fill_buf().unwrap();
let buffer_length = buffer.len();
// Check that size hint matches buffer contents
let mut buffered_bytes = buf_reader.bytes();
let (lower_bound, _upper_bound) = buffered_bytes.size_hint();
assert_eq!(lower_bound, buffer_length);
// Check that size hint matches buffer contents after advancing
buffered_bytes.next().unwrap().unwrap();
let (lower_bound, _upper_bound) = buffered_bytes.size_hint();
assert_eq!(lower_bound, buffer_length - 1);
}
#[test]
fn chain_zero_length_read_is_not_eof() {
let a = b"A";