Slap #[inline] on all the ByRefSized methods, per the8472's suggestion

This commit is contained in:
Scott McMurray 2022-05-13 00:43:15 -07:00
parent 83595f9242
commit e8fc7ba6a7

View File

@ -9,22 +9,27 @@ pub(crate) struct ByRefSized<'a, I>(pub &'a mut I);
impl<I: Iterator> Iterator for ByRefSized<'_, I> { impl<I: Iterator> Iterator for ByRefSized<'_, I> {
type Item = I::Item; type Item = I::Item;
#[inline]
fn next(&mut self) -> Option<Self::Item> { fn next(&mut self) -> Option<Self::Item> {
self.0.next() self.0.next()
} }
#[inline]
fn size_hint(&self) -> (usize, Option<usize>) { fn size_hint(&self) -> (usize, Option<usize>) {
self.0.size_hint() self.0.size_hint()
} }
#[inline]
fn advance_by(&mut self, n: usize) -> Result<(), usize> { fn advance_by(&mut self, n: usize) -> Result<(), usize> {
self.0.advance_by(n) self.0.advance_by(n)
} }
#[inline]
fn nth(&mut self, n: usize) -> Option<Self::Item> { fn nth(&mut self, n: usize) -> Option<Self::Item> {
self.0.nth(n) self.0.nth(n)
} }
#[inline]
fn fold<B, F>(self, init: B, f: F) -> B fn fold<B, F>(self, init: B, f: F) -> B
where where
F: FnMut(B, Self::Item) -> B, F: FnMut(B, Self::Item) -> B,
@ -32,6 +37,7 @@ impl<I: Iterator> Iterator for ByRefSized<'_, I> {
self.0.fold(init, f) self.0.fold(init, f)
} }
#[inline]
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
where where
F: FnMut(B, Self::Item) -> R, F: FnMut(B, Self::Item) -> R,
@ -42,18 +48,22 @@ impl<I: Iterator> Iterator for ByRefSized<'_, I> {
} }
impl<I: DoubleEndedIterator> DoubleEndedIterator for ByRefSized<'_, I> { impl<I: DoubleEndedIterator> DoubleEndedIterator for ByRefSized<'_, I> {
#[inline]
fn next_back(&mut self) -> Option<Self::Item> { fn next_back(&mut self) -> Option<Self::Item> {
self.0.next_back() self.0.next_back()
} }
#[inline]
fn advance_back_by(&mut self, n: usize) -> Result<(), usize> { fn advance_back_by(&mut self, n: usize) -> Result<(), usize> {
self.0.advance_back_by(n) self.0.advance_back_by(n)
} }
#[inline]
fn nth_back(&mut self, n: usize) -> Option<Self::Item> { fn nth_back(&mut self, n: usize) -> Option<Self::Item> {
self.0.nth_back(n) self.0.nth_back(n)
} }
#[inline]
fn rfold<B, F>(self, init: B, f: F) -> B fn rfold<B, F>(self, init: B, f: F) -> B
where where
F: FnMut(B, Self::Item) -> B, F: FnMut(B, Self::Item) -> B,
@ -61,6 +71,7 @@ impl<I: DoubleEndedIterator> DoubleEndedIterator for ByRefSized<'_, I> {
self.0.rfold(init, f) self.0.rfold(init, f)
} }
#[inline]
fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
where where
F: FnMut(B, Self::Item) -> R, F: FnMut(B, Self::Item) -> R,