Coverage Report

Created: 2023-09-16 11:50

/home/runner/work/ringbuffer/ringbuffer/src/ringbuffer_trait.rs
Line
Count
Source (jump to first uncovered line)
1
use core::ops::{Index, IndexMut};
2
3
#[cfg(feature = "alloc")]
4
extern crate alloc;
5
6
#[cfg(feature = "alloc")]
7
use alloc::vec::Vec;
8
9
/// `RingBuffer` is a trait defining the standard interface for all `RingBuffer`
10
/// implementations ([`AllocRingBuffer`](crate::AllocRingBuffer), [`ConstGenericRingBuffer`](crate::ConstGenericRingBuffer))
11
///
12
/// This trait is not object safe, so can't be used dynamically. However it is possible to
13
/// define a generic function over types implementing `RingBuffer`.
14
///
15
/// # Safety
16
/// Implementing this implies that the ringbuffer upholds some safety
17
/// guarantees, such as returning a different value from `get_mut` any
18
/// for every different index passed in. See the exact requirements
19
/// in the safety comment on the next function of the mutable Iterator
20
/// implementation, since these safety guarantees are necessary for
21
/// [`iter_mut`](RingBuffer::iter_mut) to work
22
pub unsafe trait RingBuffer<T>:
23
    Sized + IntoIterator<Item = T> + Extend<T> + Index<usize, Output = T> + IndexMut<usize>
24
{
25
    /// Returns the length of the internal buffer.
26
    /// This length grows up to the capacity and then stops growing.
27
    /// This is because when the length is reached, new items are appended at the start.
28
3.74M
    fn len(&self) -> usize {
29
3.74M
        // Safety: self is a RingBuffer
30
3.74M
        unsafe { Self::ptr_len(self) }
31
3.74M
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
20
    fn len(&self) -> usize {
29
20
        // Safety: self is a RingBuffer
30
20
        unsafe { Self::ptr_len(self) }
31
20
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
6
    fn len(&self) -> usize {
29
6
        // Safety: self is a RingBuffer
30
6
        unsafe { Self::ptr_len(self) }
31
6
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::len
Line
Count
Source
28
31
    fn len(&self) -> usize {
29
31
        // Safety: self is a RingBuffer
30
31
        unsafe { Self::ptr_len(self) }
31
31
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::len
Line
Count
Source
28
237
    fn len(&self) -> usize {
29
237
        // Safety: self is a RingBuffer
30
237
        unsafe { Self::ptr_len(self) }
31
237
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
21
    fn len(&self) -> usize {
29
21
        // Safety: self is a RingBuffer
30
21
        unsafe { Self::ptr_len(self) }
31
21
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
6
    fn len(&self) -> usize {
29
6
        // Safety: self is a RingBuffer
30
6
        unsafe { Self::ptr_len(self) }
31
6
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::len
Line
Count
Source
28
488
    fn len(&self) -> usize {
29
488
        // Safety: self is a RingBuffer
30
488
        unsafe { Self::ptr_len(self) }
31
488
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
20
    fn len(&self) -> usize {
29
20
        // Safety: self is a RingBuffer
30
20
        unsafe { Self::ptr_len(self) }
31
20
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
6
    fn len(&self) -> usize {
29
6
        // Safety: self is a RingBuffer
30
6
        unsafe { Self::ptr_len(self) }
31
6
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::len
Line
Count
Source
28
31
    fn len(&self) -> usize {
29
31
        // Safety: self is a RingBuffer
30
31
        unsafe { Self::ptr_len(self) }
31
31
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
21
    fn len(&self) -> usize {
29
21
        // Safety: self is a RingBuffer
30
21
        unsafe { Self::ptr_len(self) }
31
21
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::len
Line
Count
Source
28
237
    fn len(&self) -> usize {
29
237
        // Safety: self is a RingBuffer
30
237
        unsafe { Self::ptr_len(self) }
31
237
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
6
    fn len(&self) -> usize {
29
6
        // Safety: self is a RingBuffer
30
6
        unsafe { Self::ptr_len(self) }
31
6
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
15.1k
    fn len(&self) -> usize {
29
15.1k
        // Safety: self is a RingBuffer
30
15.1k
        unsafe { Self::ptr_len(self) }
31
15.1k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::len
Line
Count
Source
28
21
    fn len(&self) -> usize {
29
21
        // Safety: self is a RingBuffer
30
21
        unsafe { Self::ptr_len(self) }
31
21
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
192
    fn len(&self) -> usize {
29
192
        // Safety: self is a RingBuffer
30
192
        unsafe { Self::ptr_len(self) }
31
192
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::len
Line
Count
Source
28
3.64k
    fn len(&self) -> usize {
29
3.64k
        // Safety: self is a RingBuffer
30
3.64k
        unsafe { Self::ptr_len(self) }
31
3.64k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::len
Line
Count
Source
28
1.31k
    fn len(&self) -> usize {
29
1.31k
        // Safety: self is a RingBuffer
30
1.31k
        unsafe { Self::ptr_len(self) }
31
1.31k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::len
Line
Count
Source
28
42
    fn len(&self) -> usize {
29
42
        // Safety: self is a RingBuffer
30
42
        unsafe { Self::ptr_len(self) }
31
42
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
1.60M
    fn len(&self) -> usize {
29
1.60M
        // Safety: self is a RingBuffer
30
1.60M
        unsafe { Self::ptr_len(self) }
31
1.60M
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::len
Line
Count
Source
28
49
    fn len(&self) -> usize {
29
49
        // Safety: self is a RingBuffer
30
49
        unsafe { Self::ptr_len(self) }
31
49
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::len
Line
Count
Source
28
14
    fn len(&self) -> usize {
29
14
        // Safety: self is a RingBuffer
30
14
        unsafe { Self::ptr_len(self) }
31
14
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
99.4k
    fn len(&self) -> usize {
29
99.4k
        // Safety: self is a RingBuffer
30
99.4k
        unsafe { Self::ptr_len(self) }
31
99.4k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
214
    fn len(&self) -> usize {
29
214
        // Safety: self is a RingBuffer
30
214
        unsafe { Self::ptr_len(self) }
31
214
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::len
Line
Count
Source
28
4
    fn len(&self) -> usize {
29
4
        // Safety: self is a RingBuffer
30
4
        unsafe { Self::ptr_len(self) }
31
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
60
    fn len(&self) -> usize {
29
60
        // Safety: self is a RingBuffer
30
60
        unsafe { Self::ptr_len(self) }
31
60
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::len
Line
Count
Source
28
6.25k
    fn len(&self) -> usize {
29
6.25k
        // Safety: self is a RingBuffer
30
6.25k
        unsafe { Self::ptr_len(self) }
31
6.25k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::len
Line
Count
Source
28
28
    fn len(&self) -> usize {
29
28
        // Safety: self is a RingBuffer
30
28
        unsafe { Self::ptr_len(self) }
31
28
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
131
    fn len(&self) -> usize {
29
131
        // Safety: self is a RingBuffer
30
131
        unsafe { Self::ptr_len(self) }
31
131
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::len
Line
Count
Source
28
101k
    fn len(&self) -> usize {
29
101k
        // Safety: self is a RingBuffer
30
101k
        unsafe { Self::ptr_len(self) }
31
101k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::len
Line
Count
Source
28
8
    fn len(&self) -> usize {
29
8
        // Safety: self is a RingBuffer
30
8
        unsafe { Self::ptr_len(self) }
31
8
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
1.60M
    fn len(&self) -> usize {
29
1.60M
        // Safety: self is a RingBuffer
30
1.60M
        unsafe { Self::ptr_len(self) }
31
1.60M
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::len
Line
Count
Source
28
101k
    fn len(&self) -> usize {
29
101k
        // Safety: self is a RingBuffer
30
101k
        unsafe { Self::ptr_len(self) }
31
101k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::len
Line
Count
Source
28
14
    fn len(&self) -> usize {
29
14
        // Safety: self is a RingBuffer
30
14
        unsafe { Self::ptr_len(self) }
31
14
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::len
Line
Count
Source
28
4
    fn len(&self) -> usize {
29
4
        // Safety: self is a RingBuffer
30
4
        unsafe { Self::ptr_len(self) }
31
4
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::len
Line
Count
Source
28
63
    fn len(&self) -> usize {
29
63
        // Safety: self is a RingBuffer
30
63
        unsafe { Self::ptr_len(self) }
31
63
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::len
Line
Count
Source
28
4
    fn len(&self) -> usize {
29
4
        // Safety: self is a RingBuffer
30
4
        unsafe { Self::ptr_len(self) }
31
4
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::len
Line
Count
Source
28
209k
    fn len(&self) -> usize {
29
209k
        // Safety: self is a RingBuffer
30
209k
        unsafe { Self::ptr_len(self) }
31
209k
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::len
Line
Count
Source
28
10
    fn len(&self) -> usize {
29
10
        // Safety: self is a RingBuffer
30
10
        unsafe { Self::ptr_len(self) }
31
10
    }
32
33
    /// Raw pointer version of len
34
    ///
35
    /// # Safety
36
    /// ONLY SAFE WHEN self is a *mut to to an implementor of `RingBuffer`
37
    #[doc(hidden)]
38
    unsafe fn ptr_len(rb: *const Self) -> usize;
39
40
    /// Returns true if the buffer is entirely empty.
41
    #[inline]
42
1.48M
    fn is_empty(&self) -> bool {
43
1.48M
        self.len() == 0
44
1.48M
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
10
    fn is_empty(&self) -> bool {
43
10
        self.len() == 0
44
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_empty
Line
Count
Source
42
20
    fn is_empty(&self) -> bool {
43
20
        self.len() == 0
44
20
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
4
    fn is_empty(&self) -> bool {
43
4
        self.len() == 0
44
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_empty
Line
Count
Source
42
98
    fn is_empty(&self) -> bool {
43
98
        self.len() == 0
44
98
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
4
    fn is_empty(&self) -> bool {
43
4
        self.len() == 0
44
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
12
    fn is_empty(&self) -> bool {
43
12
        self.len() == 0
44
12
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_empty
Line
Count
Source
42
196
    fn is_empty(&self) -> bool {
43
196
        self.len() == 0
44
196
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
10
    fn is_empty(&self) -> bool {
43
10
        self.len() == 0
44
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
4
    fn is_empty(&self) -> bool {
43
4
        self.len() == 0
44
4
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_empty
Line
Count
Source
42
20
    fn is_empty(&self) -> bool {
43
20
        self.len() == 0
44
20
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
12
    fn is_empty(&self) -> bool {
43
12
        self.len() == 0
44
12
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_empty
Line
Count
Source
42
98
    fn is_empty(&self) -> bool {
43
98
        self.len() == 0
44
98
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
4
    fn is_empty(&self) -> bool {
43
4
        self.len() == 0
44
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::is_empty
Line
Count
Source
42
26
    fn is_empty(&self) -> bool {
43
26
        self.len() == 0
44
26
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
54.5k
    fn is_empty(&self) -> bool {
43
54.5k
        self.len() == 0
44
54.5k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
109
    fn is_empty(&self) -> bool {
43
109
        self.len() == 0
44
109
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_empty
Line
Count
Source
42
1.10k
    fn is_empty(&self) -> bool {
43
1.10k
        self.len() == 0
44
1.10k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
600k
    fn is_empty(&self) -> bool {
43
600k
        self.len() == 0
44
600k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_empty
Line
Count
Source
42
14
    fn is_empty(&self) -> bool {
43
14
        self.len() == 0
44
14
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_empty
Line
Count
Source
42
3.30k
    fn is_empty(&self) -> bool {
43
3.30k
        self.len() == 0
44
3.30k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
70
    fn is_empty(&self) -> bool {
43
70
        self.len() == 0
44
70
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_empty
Line
Count
Source
42
5.91k
    fn is_empty(&self) -> bool {
43
5.91k
        self.len() == 0
44
5.91k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
30
    fn is_empty(&self) -> bool {
43
30
        self.len() == 0
44
30
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::is_empty
Line
Count
Source
42
2
    fn is_empty(&self) -> bool {
43
2
        self.len() == 0
44
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::is_empty
Line
Count
Source
42
10
    fn is_empty(&self) -> bool {
43
10
        self.len() == 0
44
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
94
    fn is_empty(&self) -> bool {
43
94
        self.len() == 0
44
94
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_empty
Line
Count
Source
42
19
    fn is_empty(&self) -> bool {
43
19
        self.len() == 0
44
19
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
4.09k
    fn is_empty(&self) -> bool {
43
4.09k
        self.len() == 0
44
4.09k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::is_empty
Line
Count
Source
42
7
    fn is_empty(&self) -> bool {
43
7
        self.len() == 0
44
7
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_empty
Line
Count
Source
42
918
    fn is_empty(&self) -> bool {
43
918
        self.len() == 0
44
918
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::is_empty
Line
Count
Source
42
2
    fn is_empty(&self) -> bool {
43
2
        self.len() == 0
44
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::is_empty
Line
Count
Source
42
7
    fn is_empty(&self) -> bool {
43
7
        self.len() == 0
44
7
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
600k
    fn is_empty(&self) -> bool {
43
600k
        self.len() == 0
44
600k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_empty
Line
Count
Source
42
1.12k
    fn is_empty(&self) -> bool {
43
1.12k
        self.len() == 0
44
1.12k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::is_empty
Line
Count
Source
42
6
    fn is_empty(&self) -> bool {
43
6
        self.len() == 0
44
6
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::is_empty
Line
Count
Source
42
26
    fn is_empty(&self) -> bool {
43
26
        self.len() == 0
44
26
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_empty
Line
Count
Source
42
10
    fn is_empty(&self) -> bool {
43
10
        self.len() == 0
44
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_empty
Line
Count
Source
42
209k
    fn is_empty(&self) -> bool {
43
209k
        self.len() == 0
44
209k
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::is_empty
Line
Count
Source
42
3
    fn is_empty(&self) -> bool {
43
3
        self.len() == 0
44
3
    }
45
46
    /// Returns true when the length of the ringbuffer equals the capacity. This happens whenever
47
    /// more elements than capacity have been pushed to the buffer.
48
    #[inline]
49
1.45M
    fn is_full(&self) -> bool {
50
1.45M
        self.len() == self.capacity()
51
1.45M
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
4
    fn is_full(&self) -> bool {
50
4
        self.len() == self.capacity()
51
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_full
Line
Count
Source
49
26
    fn is_full(&self) -> bool {
50
26
        self.len() == self.capacity()
51
26
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
3
    fn is_full(&self) -> bool {
50
3
        self.len() == self.capacity()
51
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
2
    fn is_full(&self) -> bool {
50
2
        self.len() == self.capacity()
51
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_full
Line
Count
Source
49
68
    fn is_full(&self) -> bool {
50
68
        self.len() == self.capacity()
51
68
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
4
    fn is_full(&self) -> bool {
50
4
        self.len() == self.capacity()
51
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_full
Line
Count
Source
49
26
    fn is_full(&self) -> bool {
50
26
        self.len() == self.capacity()
51
26
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
3
    fn is_full(&self) -> bool {
50
3
        self.len() == self.capacity()
51
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
2
    fn is_full(&self) -> bool {
50
2
        self.len() == self.capacity()
51
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_full
Line
Count
Source
49
399
    fn is_full(&self) -> bool {
50
399
        self.len() == self.capacity()
51
399
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
9.02k
    fn is_full(&self) -> bool {
50
9.02k
        self.len() == self.capacity()
51
9.02k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_full
Line
Count
Source
49
10
    fn is_full(&self) -> bool {
50
10
        self.len() == self.capacity()
51
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::is_full
Line
Count
Source
49
7
    fn is_full(&self) -> bool {
50
7
        self.len() == self.capacity()
51
7
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
57
    fn is_full(&self) -> bool {
50
57
        self.len() == self.capacity()
51
57
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
44.7k
    fn is_full(&self) -> bool {
50
44.7k
        self.len() == self.capacity()
51
44.7k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::is_full
Line
Count
Source
49
2
    fn is_full(&self) -> bool {
50
2
        self.len() == self.capacity()
51
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
14
    fn is_full(&self) -> bool {
50
14
        self.len() == self.capacity()
51
14
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_full
Line
Count
Source
49
291
    fn is_full(&self) -> bool {
50
291
        self.len() == self.capacity()
51
291
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::is_full
Line
Count
Source
49
8
    fn is_full(&self) -> bool {
50
8
        self.len() == self.capacity()
51
8
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::is_full
Line
Count
Source
49
6
    fn is_full(&self) -> bool {
50
6
        self.len() == self.capacity()
51
6
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
600k
    fn is_full(&self) -> bool {
50
600k
        self.len() == self.capacity()
51
600k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::is_full
Line
Count
Source
49
3
    fn is_full(&self) -> bool {
50
3
        self.len() == self.capacity()
51
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_full
Line
Count
Source
49
100k
    fn is_full(&self) -> bool {
50
100k
        self.len() == self.capacity()
51
100k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
32
    fn is_full(&self) -> bool {
50
32
        self.len() == self.capacity()
51
32
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
21
    fn is_full(&self) -> bool {
50
21
        self.len() == self.capacity()
51
21
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_full
Line
Count
Source
49
315
    fn is_full(&self) -> bool {
50
315
        self.len() == self.capacity()
51
315
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::is_full
Line
Count
Source
49
25
    fn is_full(&self) -> bool {
50
25
        self.len() == self.capacity()
51
25
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::is_full
Line
Count
Source
49
2
    fn is_full(&self) -> bool {
50
2
        self.len() == self.capacity()
51
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::is_full
Line
Count
Source
49
100k
    fn is_full(&self) -> bool {
50
100k
        self.len() == self.capacity()
51
100k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
600k
    fn is_full(&self) -> bool {
50
600k
        self.len() == self.capacity()
51
600k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::is_full
Line
Count
Source
49
3
    fn is_full(&self) -> bool {
50
3
        self.len() == self.capacity()
51
3
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::is_full
Line
Count
Source
49
2
    fn is_full(&self) -> bool {
50
2
        self.len() == self.capacity()
51
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::is_full
Line
Count
Source
49
3
    fn is_full(&self) -> bool {
50
3
        self.len() == self.capacity()
51
3
    }
52
53
    /// Returns the capacity of the buffer.
54
1.45M
    fn capacity(&self) -> usize {
55
1.45M
        // Safety: self is a RingBuffer
56
1.45M
        unsafe { Self::ptr_capacity(self) }
57
1.45M
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
4
    fn capacity(&self) -> usize {
55
4
        // Safety: self is a RingBuffer
56
4
        unsafe { Self::ptr_capacity(self) }
57
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
3
    fn capacity(&self) -> usize {
55
3
        // Safety: self is a RingBuffer
56
3
        unsafe { Self::ptr_capacity(self) }
57
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::capacity
Line
Count
Source
54
26
    fn capacity(&self) -> usize {
55
26
        // Safety: self is a RingBuffer
56
26
        unsafe { Self::ptr_capacity(self) }
57
26
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
2
    fn capacity(&self) -> usize {
55
2
        // Safety: self is a RingBuffer
56
2
        unsafe { Self::ptr_capacity(self) }
57
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::capacity
Line
Count
Source
54
68
    fn capacity(&self) -> usize {
55
68
        // Safety: self is a RingBuffer
56
68
        unsafe { Self::ptr_capacity(self) }
57
68
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
4
    fn capacity(&self) -> usize {
55
4
        // Safety: self is a RingBuffer
56
4
        unsafe { Self::ptr_capacity(self) }
57
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
2
    fn capacity(&self) -> usize {
55
2
        // Safety: self is a RingBuffer
56
2
        unsafe { Self::ptr_capacity(self) }
57
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
3
    fn capacity(&self) -> usize {
55
3
        // Safety: self is a RingBuffer
56
3
        unsafe { Self::ptr_capacity(self) }
57
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::capacity
Line
Count
Source
54
26
    fn capacity(&self) -> usize {
55
26
        // Safety: self is a RingBuffer
56
26
        unsafe { Self::ptr_capacity(self) }
57
26
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::capacity
Line
Count
Source
54
7
    fn capacity(&self) -> usize {
55
7
        // Safety: self is a RingBuffer
56
7
        unsafe { Self::ptr_capacity(self) }
57
7
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
57
    fn capacity(&self) -> usize {
55
57
        // Safety: self is a RingBuffer
56
57
        unsafe { Self::ptr_capacity(self) }
57
57
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::capacity
Line
Count
Source
54
8
    fn capacity(&self) -> usize {
55
8
        // Safety: self is a RingBuffer
56
8
        unsafe { Self::ptr_capacity(self) }
57
8
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::capacity
Line
Count
Source
54
399
    fn capacity(&self) -> usize {
55
399
        // Safety: self is a RingBuffer
56
399
        unsafe { Self::ptr_capacity(self) }
57
399
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
9.02k
    fn capacity(&self) -> usize {
55
9.02k
        // Safety: self is a RingBuffer
56
9.02k
        unsafe { Self::ptr_capacity(self) }
57
9.02k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
600k
    fn capacity(&self) -> usize {
55
600k
        // Safety: self is a RingBuffer
56
600k
        unsafe { Self::ptr_capacity(self) }
57
600k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
34
    fn capacity(&self) -> usize {
55
34
        // Safety: self is a RingBuffer
56
34
        unsafe { Self::ptr_capacity(self) }
57
34
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::capacity
Line
Count
Source
54
339
    fn capacity(&self) -> usize {
55
339
        // Safety: self is a RingBuffer
56
339
        unsafe { Self::ptr_capacity(self) }
57
339
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
21
    fn capacity(&self) -> usize {
55
21
        // Safety: self is a RingBuffer
56
21
        unsafe { Self::ptr_capacity(self) }
57
21
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::capacity
Line
Count
Source
54
10
    fn capacity(&self) -> usize {
55
10
        // Safety: self is a RingBuffer
56
10
        unsafe { Self::ptr_capacity(self) }
57
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::capacity
Line
Count
Source
54
101k
    fn capacity(&self) -> usize {
55
101k
        // Safety: self is a RingBuffer
56
101k
        unsafe { Self::ptr_capacity(self) }
57
101k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::capacity
Line
Count
Source
54
2
    fn capacity(&self) -> usize {
55
2
        // Safety: self is a RingBuffer
56
2
        unsafe { Self::ptr_capacity(self) }
57
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
14
    fn capacity(&self) -> usize {
55
14
        // Safety: self is a RingBuffer
56
14
        unsafe { Self::ptr_capacity(self) }
57
14
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::capacity
Line
Count
Source
54
3
    fn capacity(&self) -> usize {
55
3
        // Safety: self is a RingBuffer
56
3
        unsafe { Self::ptr_capacity(self) }
57
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
44.9k
    fn capacity(&self) -> usize {
55
44.9k
        // Safety: self is a RingBuffer
56
44.9k
        unsafe { Self::ptr_capacity(self) }
57
44.9k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::capacity
Line
Count
Source
54
339
    fn capacity(&self) -> usize {
55
339
        // Safety: self is a RingBuffer
56
339
        unsafe { Self::ptr_capacity(self) }
57
339
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::capacity
Line
Count
Source
54
6
    fn capacity(&self) -> usize {
55
6
        // Safety: self is a RingBuffer
56
6
        unsafe { Self::ptr_capacity(self) }
57
6
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::capacity
Line
Count
Source
54
3
    fn capacity(&self) -> usize {
55
3
        // Safety: self is a RingBuffer
56
3
        unsafe { Self::ptr_capacity(self) }
57
3
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::capacity
Line
Count
Source
54
2
    fn capacity(&self) -> usize {
55
2
        // Safety: self is a RingBuffer
56
2
        unsafe { Self::ptr_capacity(self) }
57
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::capacity
Line
Count
Source
54
25
    fn capacity(&self) -> usize {
55
25
        // Safety: self is a RingBuffer
56
25
        unsafe { Self::ptr_capacity(self) }
57
25
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
600k
    fn capacity(&self) -> usize {
55
600k
        // Safety: self is a RingBuffer
56
600k
        unsafe { Self::ptr_capacity(self) }
57
600k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::capacity
Line
Count
Source
54
101k
    fn capacity(&self) -> usize {
55
101k
        // Safety: self is a RingBuffer
56
101k
        unsafe { Self::ptr_capacity(self) }
57
101k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::capacity
Line
Count
Source
54
2
    fn capacity(&self) -> usize {
55
2
        // Safety: self is a RingBuffer
56
2
        unsafe { Self::ptr_capacity(self) }
57
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::capacity
Line
Count
Source
54
9
    fn capacity(&self) -> usize {
55
9
        // Safety: self is a RingBuffer
56
9
        unsafe { Self::ptr_capacity(self) }
57
9
    }
58
59
    /// Returns the number of elements allocated for this ringbuffer (can be larger than capacity).
60
402k
    fn buffer_size(&self) -> usize {
61
402k
        // Safety: self is a RingBuffer
62
402k
        unsafe { Self::ptr_buffer_size(self) }
63
402k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
4
    fn buffer_size(&self) -> usize {
61
4
        // Safety: self is a RingBuffer
62
4
        unsafe { Self::ptr_buffer_size(self) }
63
4
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::buffer_size
Line
Count
Source
60
60
    fn buffer_size(&self) -> usize {
61
60
        // Safety: self is a RingBuffer
62
60
        unsafe { Self::ptr_buffer_size(self) }
63
60
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::buffer_size
Line
Count
Source
60
60
    fn buffer_size(&self) -> usize {
61
60
        // Safety: self is a RingBuffer
62
60
        unsafe { Self::ptr_buffer_size(self) }
63
60
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
4
    fn buffer_size(&self) -> usize {
61
4
        // Safety: self is a RingBuffer
62
4
        unsafe { Self::ptr_buffer_size(self) }
63
4
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::buffer_size
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
4
    fn buffer_size(&self) -> usize {
61
4
        // Safety: self is a RingBuffer
62
4
        unsafe { Self::ptr_buffer_size(self) }
63
4
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::buffer_size
Line
Count
Source
60
60
    fn buffer_size(&self) -> usize {
61
60
        // Safety: self is a RingBuffer
62
60
        unsafe { Self::ptr_buffer_size(self) }
63
60
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::buffer_size
Line
Count
Source
60
60
    fn buffer_size(&self) -> usize {
61
60
        // Safety: self is a RingBuffer
62
60
        unsafe { Self::ptr_buffer_size(self) }
63
60
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
4
    fn buffer_size(&self) -> usize {
61
4
        // Safety: self is a RingBuffer
62
4
        unsafe { Self::ptr_buffer_size(self) }
63
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::buffer_size
Line
Count
Source
60
8
    fn buffer_size(&self) -> usize {
61
8
        // Safety: self is a RingBuffer
62
8
        unsafe { Self::ptr_buffer_size(self) }
63
8
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::buffer_size
Line
Count
Source
60
4
    fn buffer_size(&self) -> usize {
61
4
        // Safety: self is a RingBuffer
62
4
        unsafe { Self::ptr_buffer_size(self) }
63
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
23
    fn buffer_size(&self) -> usize {
61
23
        // Safety: self is a RingBuffer
62
23
        unsafe { Self::ptr_buffer_size(self) }
63
23
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::buffer_size
Line
Count
Source
60
6
    fn buffer_size(&self) -> usize {
61
6
        // Safety: self is a RingBuffer
62
6
        unsafe { Self::ptr_buffer_size(self) }
63
6
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::buffer_size
Line
Count
Source
60
3
    fn buffer_size(&self) -> usize {
61
3
        // Safety: self is a RingBuffer
62
3
        unsafe { Self::ptr_buffer_size(self) }
63
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
14
    fn buffer_size(&self) -> usize {
61
14
        // Safety: self is a RingBuffer
62
14
        unsafe { Self::ptr_buffer_size(self) }
63
14
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::buffer_size
Line
Count
Source
60
10
    fn buffer_size(&self) -> usize {
61
10
        // Safety: self is a RingBuffer
62
10
        unsafe { Self::ptr_buffer_size(self) }
63
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
30
    fn buffer_size(&self) -> usize {
61
30
        // Safety: self is a RingBuffer
62
30
        unsafe { Self::ptr_buffer_size(self) }
63
30
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
31
    fn buffer_size(&self) -> usize {
61
31
        // Safety: self is a RingBuffer
62
31
        unsafe { Self::ptr_buffer_size(self) }
63
31
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
200k
    fn buffer_size(&self) -> usize {
61
200k
        // Safety: self is a RingBuffer
62
200k
        unsafe { Self::ptr_buffer_size(self) }
63
200k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
2.04k
    fn buffer_size(&self) -> usize {
61
2.04k
        // Safety: self is a RingBuffer
62
2.04k
        unsafe { Self::ptr_buffer_size(self) }
63
2.04k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::buffer_size
Line
Count
Source
60
3
    fn buffer_size(&self) -> usize {
61
3
        // Safety: self is a RingBuffer
62
3
        unsafe { Self::ptr_buffer_size(self) }
63
3
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::buffer_size
Line
Count
Source
60
10
    fn buffer_size(&self) -> usize {
61
10
        // Safety: self is a RingBuffer
62
10
        unsafe { Self::ptr_buffer_size(self) }
63
10
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::buffer_size
Line
Count
Source
60
200k
    fn buffer_size(&self) -> usize {
61
200k
        // Safety: self is a RingBuffer
62
200k
        unsafe { Self::ptr_buffer_size(self) }
63
200k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::buffer_size
Line
Count
Source
60
12
    fn buffer_size(&self) -> usize {
61
12
        // Safety: self is a RingBuffer
62
12
        unsafe { Self::ptr_buffer_size(self) }
63
12
    }
64
65
    /// Raw pointer version of capacity.
66
    ///
67
    /// # Safety
68
    /// ONLY SAFE WHEN self is a *mut to to an implementor of `RingBuffer`
69
    #[doc(hidden)]
70
    unsafe fn ptr_capacity(rb: *const Self) -> usize;
71
72
    /// Raw pointer version of `buffer_size`.
73
    ///
74
    /// # Safety
75
    /// ONLY SAFE WHEN self is a *mut to to an implementor of `RingBuffer`
76
    #[doc(hidden)]
77
    unsafe fn ptr_buffer_size(rb: *const Self) -> usize;
78
79
    /// Pushes a value onto the buffer. Cycles around if capacity is reached.
80
    fn push(&mut self, value: T);
81
82
    /// alias for [`push`](RingBuffer::push), forming a more natural counterpart to [`dequeue`](RingBuffer::dequeue)
83
200k
    fn enqueue(&mut self, value: T) {
84
200k
        self.push(value);
85
200k
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::enqueue
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::enqueue
Line
Count
Source
83
100k
    fn enqueue(&mut self, value: T) {
84
100k
        self.push(value);
85
100k
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::enqueue
Line
Count
Source
83
4
    fn enqueue(&mut self, value: T) {
84
4
        self.push(value);
85
4
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::enqueue
Line
Count
Source
83
100k
    fn enqueue(&mut self, value: T) {
84
100k
        self.push(value);
85
100k
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::enqueue
Line
Count
Source
83
4
    fn enqueue(&mut self, value: T) {
84
4
        self.push(value);
85
4
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::enqueue
Line
Count
Source
83
4
    fn enqueue(&mut self, value: T) {
84
4
        self.push(value);
85
4
    }
86
87
    /// alias for [`extend`](RingBuffer::extend).
88
    #[inline]
89
0
    fn enqueue_many<I: IntoIterator<Item = T>>(&mut self, items: I) {
90
0
        self.extend(items);
91
0
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::enqueue_many::<_>
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::enqueue_many::<_>
92
93
    /// Clones and appends all elements in a slice to the `Vec`.
94
    ///
95
    /// Iterates over the slice `other`, clones each element, and then appends
96
    /// it to this `RingBuffer`. The `other` slice is traversed in-order.
97
    ///
98
    /// Depending on the `RingBuffer` implementation, may be faster than inserting items in a loop.
99
    /// `ConstGenericRingBuffer` is especially optimised in this regard.
100
    /// See also: [`ConstGenericRingBuffer::custom_extend_batched`](crate::with_const_generics::ConstGenericRingBuffer::custom_extend_batched)
101
    ///
102
    /// # Examples
103
    ///
104
    /// ```
105
    /// use ringbuffer::{ConstGenericRingBuffer, RingBuffer};
106
    ///
107
    /// let mut rb = ConstGenericRingBuffer::<_, 6>::new();
108
    /// rb.push(1);
109
    ///
110
    /// rb.extend_from_slice(&[2, 3, 4]);
111
    /// assert_eq!(rb.to_vec(), vec![1, 2, 3, 4]);
112
    /// ```
113
    ///
114
    /// [`extend`]: RingBuffer::extend
115
0
    fn extend_from_slice(&mut self, other: &[T])
116
0
    where
117
0
        T: Clone,
118
0
    {
119
0
        self.extend(other.iter().cloned());
120
0
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::extend_from_slice
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::extend_from_slice
121
122
    /// dequeues the top item off the ringbuffer, and moves this item out.
123
    fn dequeue(&mut self) -> Option<T>;
124
125
    /// dequeues the top item off the queue, but does not return it. Instead it is dropped.
126
    /// If the ringbuffer is empty, this function is a nop.
127
    #[inline]
128
18
    fn skip(&mut self) {
129
18
        let _ = self.dequeue();
130
18
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::skip
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::skip
Line
Count
Source
128
4
    fn skip(&mut self) {
129
4
        let _ = self.dequeue();
130
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::skip
Line
Count
Source
128
2
    fn skip(&mut self) {
129
2
        let _ = self.dequeue();
130
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::skip
Line
Count
Source
128
6
    fn skip(&mut self) {
129
6
        let _ = self.dequeue();
130
6
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::skip
Line
Count
Source
128
6
    fn skip(&mut self) {
129
6
        let _ = self.dequeue();
130
6
    }
131
132
    /// Returns an iterator over the elements in the ringbuffer,
133
    /// dequeueing elements as they are iterated over.
134
    ///
135
    /// ```
136
    /// use ringbuffer::{AllocRingBuffer, RingBuffer};
137
    ///
138
    /// let mut rb = AllocRingBuffer::new(16);
139
    /// for i in 0..8 {
140
    ///     rb.push(i);
141
    /// }
142
    ///
143
    /// assert_eq!(rb.len(), 8);
144
    ///
145
    /// for i in rb.drain() {
146
    ///     // prints the numbers 0 through 8
147
    ///     println!("{}", i);
148
    /// }
149
    ///
150
    /// // No elements remain
151
    /// assert_eq!(rb.len(), 0);
152
    ///
153
    /// ```
154
914
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
914
        RingBufferDrainingIterator::new(self)
156
914
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
3
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
3
        RingBufferDrainingIterator::new(self)
156
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::drain
Line
Count
Source
154
14
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
14
        RingBufferDrainingIterator::new(self)
156
14
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::drain
Line
Count
Source
154
28
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
28
        RingBufferDrainingIterator::new(self)
156
28
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
3
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
3
        RingBufferDrainingIterator::new(self)
156
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::drain
Line
Count
Source
154
14
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
14
        RingBufferDrainingIterator::new(self)
156
14
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::drain
Line
Count
Source
154
78
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
78
        RingBufferDrainingIterator::new(self)
156
78
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
10
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
10
        RingBufferDrainingIterator::new(self)
156
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
37
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
37
        RingBufferDrainingIterator::new(self)
156
37
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
16
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
16
        RingBufferDrainingIterator::new(self)
156
16
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::drain
Line
Count
Source
154
78
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
78
        RingBufferDrainingIterator::new(self)
156
78
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
422
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
422
        RingBufferDrainingIterator::new(self)
156
422
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::drain
Line
Count
Source
154
78
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
78
        RingBufferDrainingIterator::new(self)
156
78
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
19
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
19
        RingBufferDrainingIterator::new(self)
156
19
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
80
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
80
        RingBufferDrainingIterator::new(self)
156
80
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::drain
Line
Count
Source
154
2
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
2
        RingBufferDrainingIterator::new(self)
156
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::drain
Line
Count
Source
154
1
    fn drain(&mut self) -> RingBufferDrainingIterator<T, Self> {
155
1
        RingBufferDrainingIterator::new(self)
156
1
    }
157
158
    /// Moves all the elements of `other` into `self`, leaving `other` empty.
159
    ///
160
    /// # Examples
161
    ///
162
    /// ```
163
    /// use ringbuffer::{ConstGenericRingBuffer, RingBuffer};
164
    ///
165
    /// let mut vec = ConstGenericRingBuffer::<_, 6>::from(vec![1, 2, 3]);
166
    /// let mut vec2 = ConstGenericRingBuffer::<_, 6>::from(vec![4, 5, 6]);
167
    ///
168
    /// vec.append(&mut vec2);
169
    /// assert_eq!(vec.to_vec(), &[1, 2, 3, 4, 5, 6]);
170
    /// assert_eq!(vec2.to_vec(), &[]);
171
    /// ```
172
0
    fn append(&mut self, other: &mut Self) {
173
0
        self.extend(other.drain());
174
0
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::append
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::append
175
176
    /// Sets every element in the ringbuffer to the value returned by f.
177
    fn fill_with<F: FnMut() -> T>(&mut self, f: F);
178
179
    /// Sets every element in the ringbuffer to it's default value
180
12
    fn fill_default(&mut self)
181
12
    where
182
12
        T: Default,
183
12
    {
184
12
        self.fill_with(Default::default);
185
12
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::fill_default
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill_default
Line
Count
Source
180
4
    fn fill_default(&mut self)
181
4
    where
182
4
        T: Default,
183
4
    {
184
4
        self.fill_with(Default::default);
185
4
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill_default
Line
Count
Source
180
4
    fn fill_default(&mut self)
181
4
    where
182
4
        T: Default,
183
4
    {
184
4
        self.fill_with(Default::default);
185
4
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill_default
Line
Count
Source
180
4
    fn fill_default(&mut self)
181
4
    where
182
4
        T: Default,
183
4
    {
184
4
        self.fill_with(Default::default);
185
4
    }
186
187
    /// Sets every element in the ringbuffer to `value`
188
13
    fn fill(&mut self, value: T)
189
13
    where
190
13
        T: Clone,
191
13
    {
192
50
        self.fill_with(|| value.clone());
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::fill::{closure#0}
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill::{closure#0}
Line
Count
Source
192
16
        self.fill_with(|| value.clone());
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill::{closure#0}
Line
Count
Source
192
16
        self.fill_with(|| value.clone());
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::fill::{closure#0}
Line
Count
Source
192
2
        self.fill_with(|| value.clone());
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill::{closure#0}
Line
Count
Source
192
16
        self.fill_with(|| value.clone());
193
13
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::fill
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill
Line
Count
Source
188
4
    fn fill(&mut self, value: T)
189
4
    where
190
4
        T: Clone,
191
4
    {
192
4
        self.fill_with(|| value.clone());
193
4
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::fill
Line
Count
Source
188
1
    fn fill(&mut self, value: T)
189
1
    where
190
1
        T: Clone,
191
1
    {
192
1
        self.fill_with(|| value.clone());
193
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill
Line
Count
Source
188
4
    fn fill(&mut self, value: T)
189
4
    where
190
4
        T: Clone,
191
4
    {
192
4
        self.fill_with(|| value.clone());
193
4
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::fill
Line
Count
Source
188
4
    fn fill(&mut self, value: T)
189
4
    where
190
4
        T: Clone,
191
4
    {
192
4
        self.fill_with(|| value.clone());
193
4
    }
194
195
    /// Empties the buffer entirely. Sets the length to 0 but keeps the capacity allocated.
196
    fn clear(&mut self);
197
198
    /// Gets a value relative to the current index. 0 is the next index to be written to with push.
199
    /// -1 and down are the last elements pushed and 0 and up are the items that were pushed the longest ago.
200
    fn get_signed(&self, index: isize) -> Option<&T>;
201
202
    /// Gets a value relative to the current index. 0 is the next index to be written to with push.
203
    fn get(&self, index: usize) -> Option<&T>;
204
205
    /// Gets a value relative to the current index mutably. 0 is the next index to be written to with push.
206
    /// -1 and down are the last elements pushed and 0 and up are the items that were pushed the longest ago.
207
    #[inline]
208
21
    fn get_mut_signed(&mut self, index: isize) -> Option<&mut T> {
209
21
        // Safety: self is a RingBuffer
210
21
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| 
&mut *i18
) }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get_mut_signed::{closure#0}
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed::{closure#0}
Line
Count
Source
210
6
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| &mut *i) }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed::{closure#0}
Line
Count
Source
210
6
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| &mut *i) }
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed::{closure#0}
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed::{closure#0}
Line
Count
Source
210
6
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| &mut *i) }
211
21
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get_mut_signed
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed
Line
Count
Source
208
1
    fn get_mut_signed(&mut self, index: isize) -> Option<&mut T> {
209
1
        // Safety: self is a RingBuffer
210
1
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| &mut *i) }
211
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed
Line
Count
Source
208
6
    fn get_mut_signed(&mut self, index: isize) -> Option<&mut T> {
209
6
        // Safety: self is a RingBuffer
210
6
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| &mut *i) }
211
6
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed
Line
Count
Source
208
7
    fn get_mut_signed(&mut self, index: isize) -> Option<&mut T> {
209
7
        // Safety: self is a RingBuffer
210
7
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| &mut *i) }
211
7
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut_signed
Line
Count
Source
208
7
    fn get_mut_signed(&mut self, index: isize) -> Option<&mut T> {
209
7
        // Safety: self is a RingBuffer
210
7
        unsafe { Self::ptr_get_mut_signed(self, index).map(|i| &mut *i) }
211
7
    }
212
213
    /// Gets a value relative to the current index mutably. 0 is the next index to be written to with push.
214
    #[inline]
215
21
    fn get_mut(&mut self, index: usize) -> Option<&mut T> {
216
21
        // Safety: self is a RingBuffer
217
21
        unsafe { Self::ptr_get_mut(self, index).map(|i| 
&mut *i15
) }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get_mut::{closure#0}
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut::{closure#0}
Line
Count
Source
217
5
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut::{closure#0}
Line
Count
Source
217
5
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut::{closure#0}
Line
Count
Source
217
2
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut::{closure#0}
Line
Count
Source
217
3
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
218
21
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get_mut
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut
Line
Count
Source
215
5
    fn get_mut(&mut self, index: usize) -> Option<&mut T> {
216
5
        // Safety: self is a RingBuffer
217
5
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
218
5
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut
Line
Count
Source
215
2
    fn get_mut(&mut self, index: usize) -> Option<&mut T> {
216
2
        // Safety: self is a RingBuffer
217
2
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
218
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut
Line
Count
Source
215
7
    fn get_mut(&mut self, index: usize) -> Option<&mut T> {
216
7
        // Safety: self is a RingBuffer
217
7
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
218
7
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_mut
Line
Count
Source
215
7
    fn get_mut(&mut self, index: usize) -> Option<&mut T> {
216
7
        // Safety: self is a RingBuffer
217
7
        unsafe { Self::ptr_get_mut(self, index).map(|i| &mut *i) }
218
7
    }
219
220
    /// same as [`get_mut`](RingBuffer::get_mut) but on raw pointers.
221
    ///
222
    /// # Safety
223
    /// ONLY SAFE WHEN self is a *mut to to an implementor of `RingBuffer`
224
    #[doc(hidden)]
225
    unsafe fn ptr_get_mut(rb: *mut Self, index: usize) -> Option<*mut T>;
226
227
    /// same as [`get_mut`](RingBuffer::get_mut) but on raw pointers.
228
    ///
229
    /// # Safety
230
    /// ONLY SAFE WHEN self is a *mut to to an implementor of `RingBuffer`
231
    #[doc(hidden)]
232
    unsafe fn ptr_get_mut_signed(rb: *mut Self, index: isize) -> Option<*mut T>;
233
234
    /// Returns the value at the current index.
235
    /// This is the value that will be overwritten by the next push and also the value pushed
236
    /// the longest ago. (alias of [`Self::front`])
237
    #[inline]
238
6
    fn peek(&self) -> Option<&T> {
239
6
        self.front()
240
6
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::peek
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::peek
Line
Count
Source
238
1
    fn peek(&self) -> Option<&T> {
239
1
        self.front()
240
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::peek
Line
Count
Source
238
1
    fn peek(&self) -> Option<&T> {
239
1
        self.front()
240
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::peek
Line
Count
Source
238
2
    fn peek(&self) -> Option<&T> {
239
2
        self.front()
240
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::peek
Line
Count
Source
238
2
    fn peek(&self) -> Option<&T> {
239
2
        self.front()
240
2
    }
241
242
    /// Returns the value at the front of the queue.
243
    /// This is the value that will be overwritten by the next push and also the value pushed
244
    /// the longest ago.
245
    /// (alias of peek)
246
    #[inline]
247
12
    fn front(&self) -> Option<&T> {
248
12
        self.get(0)
249
12
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::front
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front
Line
Count
Source
247
2
    fn front(&self) -> Option<&T> {
248
2
        self.get(0)
249
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front
Line
Count
Source
247
2
    fn front(&self) -> Option<&T> {
248
2
        self.get(0)
249
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front
Line
Count
Source
247
4
    fn front(&self) -> Option<&T> {
248
4
        self.get(0)
249
4
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front
Line
Count
Source
247
4
    fn front(&self) -> Option<&T> {
248
4
        self.get(0)
249
4
    }
250
251
    /// Returns a mutable reference to the value at the back of the queue.
252
    /// This is the value that will be overwritten by the next push.
253
    /// (alias of peek)
254
    #[inline]
255
6
    fn front_mut(&mut self) -> Option<&mut T> {
256
6
        self.get_mut(0)
257
6
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::front_mut
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front_mut
Line
Count
Source
255
1
    fn front_mut(&mut self) -> Option<&mut T> {
256
1
        self.get_mut(0)
257
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front_mut
Line
Count
Source
255
1
    fn front_mut(&mut self) -> Option<&mut T> {
256
1
        self.get_mut(0)
257
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front_mut
Line
Count
Source
255
2
    fn front_mut(&mut self) -> Option<&mut T> {
256
2
        self.get_mut(0)
257
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::front_mut
Line
Count
Source
255
2
    fn front_mut(&mut self) -> Option<&mut T> {
256
2
        self.get_mut(0)
257
2
    }
258
259
    /// Returns the value at the back of the queue.
260
    /// This is the item that was pushed most recently.
261
    #[inline]
262
6
    fn back(&self) -> Option<&T> {
263
6
        self.get_signed(-1)
264
6
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::back
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back
Line
Count
Source
262
1
    fn back(&self) -> Option<&T> {
263
1
        self.get_signed(-1)
264
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back
Line
Count
Source
262
1
    fn back(&self) -> Option<&T> {
263
1
        self.get_signed(-1)
264
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back
Line
Count
Source
262
2
    fn back(&self) -> Option<&T> {
263
2
        self.get_signed(-1)
264
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back
Line
Count
Source
262
2
    fn back(&self) -> Option<&T> {
263
2
        self.get_signed(-1)
264
2
    }
265
266
    /// Returns a mutable reference to the value at the back of the queue.
267
    /// This is the item that was pushed most recently.
268
    #[inline]
269
6
    fn back_mut(&mut self) -> Option<&mut T> {
270
6
        self.get_mut_signed(-1)
271
6
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::back_mut
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back_mut
Line
Count
Source
269
1
    fn back_mut(&mut self) -> Option<&mut T> {
270
1
        self.get_mut_signed(-1)
271
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back_mut
Line
Count
Source
269
1
    fn back_mut(&mut self) -> Option<&mut T> {
270
1
        self.get_mut_signed(-1)
271
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back_mut
Line
Count
Source
269
2
    fn back_mut(&mut self) -> Option<&mut T> {
270
2
        self.get_mut_signed(-1)
271
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::back_mut
Line
Count
Source
269
2
    fn back_mut(&mut self) -> Option<&mut T> {
270
2
        self.get_mut_signed(-1)
271
2
    }
272
273
    /// Creates a mutable iterator over the buffer starting from the item pushed the longest ago,
274
    /// and ending at the element most recently pushed.
275
    #[inline]
276
15
    fn iter_mut(&mut self) -> RingBufferMutIterator<T, Self> {
277
15
        RingBufferMutIterator::new(self)
278
15
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::iter_mut
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter_mut
Line
Count
Source
276
3
    fn iter_mut(&mut self) -> RingBufferMutIterator<T, Self> {
277
3
        RingBufferMutIterator::new(self)
278
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter_mut
Line
Count
Source
276
2
    fn iter_mut(&mut self) -> RingBufferMutIterator<T, Self> {
277
2
        RingBufferMutIterator::new(self)
278
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter_mut
Line
Count
Source
276
5
    fn iter_mut(&mut self) -> RingBufferMutIterator<T, Self> {
277
5
        RingBufferMutIterator::new(self)
278
5
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter_mut
Line
Count
Source
276
5
    fn iter_mut(&mut self) -> RingBufferMutIterator<T, Self> {
277
5
        RingBufferMutIterator::new(self)
278
5
    }
279
280
    /// Creates an iterator over the buffer starting from the item pushed the longest ago,
281
    /// and ending at the element most recently pushed.
282
    #[inline]
283
250
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
250
        RingBufferIterator::new(self)
285
250
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::iter
Line
Count
Source
283
30
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
30
        RingBufferIterator::new(self)
285
30
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::iter
Line
Count
Source
283
10
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
10
        RingBufferIterator::new(self)
285
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::iter
Line
Count
Source
283
30
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
30
        RingBufferIterator::new(self)
285
30
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::iter
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::iter
Line
Count
Source
283
30
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
30
        RingBufferIterator::new(self)
285
30
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::iter
Line
Count
Source
283
10
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
10
        RingBufferIterator::new(self)
285
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::iter
Line
Count
Source
283
30
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
30
        RingBufferIterator::new(self)
285
30
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::iter
Line
Count
Source
283
1
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
1
        RingBufferIterator::new(self)
285
1
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
14
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
14
        RingBufferIterator::new(self)
285
14
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
12
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
12
        RingBufferIterator::new(self)
285
12
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
10
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
10
        RingBufferIterator::new(self)
285
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
4
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
4
        RingBufferIterator::new(self)
285
4
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
2
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
2
        RingBufferIterator::new(self)
285
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::iter
Line
Count
Source
283
1
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
1
        RingBufferIterator::new(self)
285
1
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
29
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
29
        RingBufferIterator::new(self)
285
29
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::iter
Line
Count
Source
283
1
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
1
        RingBufferIterator::new(self)
285
1
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::iter
Line
Count
Source
283
20
    fn iter(&self) -> RingBufferIterator<T, Self> {
284
20
        RingBufferIterator::new(self)
285
20
    }
286
287
    /// Converts the buffer to a vector. This Copies all elements in the ringbuffer.
288
    #[cfg(feature = "alloc")]
289
115
    fn to_vec(&self) -> Vec<T>
290
115
    where
291
115
        T: Clone,
292
115
    {
293
115
        self.iter().cloned().collect()
294
115
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::to_vec
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
3
    fn to_vec(&self) -> Vec<T>
290
3
    where
291
3
        T: Clone,
292
3
    {
293
3
        self.iter().cloned().collect()
294
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
3
    fn to_vec(&self) -> Vec<T>
290
3
    where
291
3
        T: Clone,
292
3
    {
293
3
        self.iter().cloned().collect()
294
3
    }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::to_vec
Line
Count
Source
289
2
    fn to_vec(&self) -> Vec<T>
290
2
    where
291
2
        T: Clone,
292
2
    {
293
2
        self.iter().cloned().collect()
294
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
11
    fn to_vec(&self) -> Vec<T>
290
11
    where
291
11
        T: Clone,
292
11
    {
293
11
        self.iter().cloned().collect()
294
11
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::to_vec
Line
Count
Source
289
10
    fn to_vec(&self) -> Vec<T>
290
10
    where
291
10
        T: Clone,
292
10
    {
293
10
        self.iter().cloned().collect()
294
10
    }
295
296
    /// Returns true if elem is in the ringbuffer.
297
6
    fn contains(&self, elem: &T) -> bool
298
6
    where
299
6
        T: PartialEq,
300
6
    {
301
9
        self.iter().any(|i| i == elem)
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::contains::{closure#0}
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::contains::{closure#0}
Line
Count
Source
301
3
        self.iter().any(|i| i == elem)
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::contains::{closure#0}
Line
Count
Source
301
3
        self.iter().any(|i| i == elem)
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::contains::{closure#0}
Line
Count
Source
301
3
        self.iter().any(|i| i == elem)
302
6
    }
Unexecuted instantiation: <_ as ringbuffer::ringbuffer_trait::RingBuffer<_>>::contains
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::contains
Line
Count
Source
297
2
    fn contains(&self, elem: &T) -> bool
298
2
    where
299
2
        T: PartialEq,
300
2
    {
301
2
        self.iter().any(|i| i == elem)
302
2
    }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::contains
Line
Count
Source
297
2
    fn contains(&self, elem: &T) -> bool
298
2
    where
299
2
        T: PartialEq,
300
2
    {
301
2
        self.iter().any(|i| i == elem)
302
2
    }
<ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::contains
Line
Count
Source
297
2
    fn contains(&self, elem: &T) -> bool
298
2
    where
299
2
        T: PartialEq,
300
2
    {
301
2
        self.iter().any(|i| i == elem)
302
2
    }
303
}
304
305
mod iter {
306
    use crate::RingBuffer;
307
    use core::iter::FusedIterator;
308
    use core::marker::PhantomData;
309
    use core::ptr::NonNull;
310
311
    /// `RingBufferIterator` holds a reference to a `RingBuffer` and iterates over it. `index` is the
312
    /// current iterator position.
313
    pub struct RingBufferIterator<'rb, T, RB: RingBuffer<T>> {
314
        obj: &'rb RB,
315
        len: usize,
316
        index: usize,
317
        phantom: PhantomData<T>,
318
    }
319
320
    impl<'rb, T, RB: RingBuffer<T>> RingBufferIterator<'rb, T, RB> {
321
        #[inline]
322
250
        pub fn new(obj: &'rb RB) -> Self {
323
250
            Self {
324
250
                obj,
325
250
                len: obj.len(),
326
250
                index: 0,
327
250
                phantom: PhantomData,
328
250
            }
329
250
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>>>::new
Line
Count
Source
322
10
        pub fn new(obj: &'rb RB) -> Self {
323
10
            Self {
324
10
                obj,
325
10
                len: obj.len(),
326
10
                index: 0,
327
10
                phantom: PhantomData,
328
10
            }
329
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>>>::new
Line
Count
Source
322
30
        pub fn new(obj: &'rb RB) -> Self {
323
30
            Self {
324
30
                obj,
325
30
                len: obj.len(),
326
30
                index: 0,
327
30
                phantom: PhantomData,
328
30
            }
329
30
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>>>::new
Line
Count
Source
322
30
        pub fn new(obj: &'rb RB) -> Self {
323
30
            Self {
324
30
                obj,
325
30
                len: obj.len(),
326
30
                index: 0,
327
30
                phantom: PhantomData,
328
30
            }
329
30
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIterator<_, _>>::new
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>>>::new
Line
Count
Source
322
30
        pub fn new(obj: &'rb RB) -> Self {
323
30
            Self {
324
30
                obj,
325
30
                len: obj.len(),
326
30
                index: 0,
327
30
                phantom: PhantomData,
328
30
            }
329
30
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>>>::new
Line
Count
Source
322
30
        pub fn new(obj: &'rb RB) -> Self {
323
30
            Self {
324
30
                obj,
325
30
                len: obj.len(),
326
30
                index: 0,
327
30
                phantom: PhantomData,
328
30
            }
329
30
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>>>::new
Line
Count
Source
322
10
        pub fn new(obj: &'rb RB) -> Self {
323
10
            Self {
324
10
                obj,
325
10
                len: obj.len(),
326
10
                index: 0,
327
10
                phantom: PhantomData,
328
10
            }
329
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>>>::new
Line
Count
Source
322
20
        pub fn new(obj: &'rb RB) -> Self {
323
20
            Self {
324
20
                obj,
325
20
                len: obj.len(),
326
20
                index: 0,
327
20
                phantom: PhantomData,
328
20
            }
329
20
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<&str, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<&str>>>::new
Line
Count
Source
322
1
        pub fn new(obj: &'rb RB) -> Self {
323
1
            Self {
324
1
                obj,
325
1
                len: obj.len(),
326
1
                index: 0,
327
1
                phantom: PhantomData,
328
1
            }
329
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize>>>::new
Line
Count
Source
322
14
        pub fn new(obj: &'rb RB) -> Self {
323
14
            Self {
324
14
                obj,
325
14
                len: obj.len(),
326
14
                index: 0,
327
14
                phantom: PhantomData,
328
14
            }
329
14
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
322
29
        pub fn new(obj: &'rb RB) -> Self {
323
29
            Self {
324
29
                obj,
325
29
                len: obj.len(),
326
29
                index: 0,
327
29
                phantom: PhantomData,
328
29
            }
329
29
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>>>::new
Line
Count
Source
322
4
        pub fn new(obj: &'rb RB) -> Self {
323
4
            Self {
324
4
                obj,
325
4
                len: obj.len(),
326
4
                index: 0,
327
4
                phantom: PhantomData,
328
4
            }
329
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize>>>::new
Line
Count
Source
322
10
        pub fn new(obj: &'rb RB) -> Self {
323
10
            Self {
324
10
                obj,
325
10
                len: obj.len(),
326
10
                index: 0,
327
10
                phantom: PhantomData,
328
10
            }
329
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<&str, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str>>>::new
Line
Count
Source
322
1
        pub fn new(obj: &'rb RB) -> Self {
323
1
            Self {
324
1
                obj,
325
1
                len: obj.len(),
326
1
                index: 0,
327
1
                phantom: PhantomData,
328
1
            }
329
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>>>::new
Line
Count
Source
322
12
        pub fn new(obj: &'rb RB) -> Self {
323
12
            Self {
324
12
                obj,
325
12
                len: obj.len(),
326
12
                index: 0,
327
12
                phantom: PhantomData,
328
12
            }
329
12
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<&str, ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize>>>::new
Line
Count
Source
322
1
        pub fn new(obj: &'rb RB) -> Self {
323
1
            Self {
324
1
                obj,
325
1
                len: obj.len(),
326
1
                index: 0,
327
1
                phantom: PhantomData,
328
1
            }
329
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize>>>::new
Line
Count
Source
322
2
        pub fn new(obj: &'rb RB) -> Self {
323
2
            Self {
324
2
                obj,
325
2
                len: obj.len(),
326
2
                index: 0,
327
2
                phantom: PhantomData,
328
2
            }
329
2
        }
330
    }
331
332
    impl<'rb, T: 'rb, RB: RingBuffer<T>> Iterator for RingBufferIterator<'rb, T, RB> {
333
        type Item = &'rb T;
334
335
        #[inline]
336
11.8k
        fn next(&mut self) -> Option<Self::Item> {
337
11.8k
            if self.index < self.len {
338
11.6k
                let res = self.obj.get(self.index);
339
11.6k
                self.index += 1;
340
11.6k
                res
341
            } else {
342
181
                None
343
            }
344
11.8k
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
6
        fn next(&mut self) -> Option<Self::Item> {
337
6
            if self.index < self.len {
338
4
                let res = self.obj.get(self.index);
339
4
                self.index += 1;
340
4
                res
341
            } else {
342
2
                None
343
            }
344
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
6
        fn next(&mut self) -> Option<Self::Item> {
337
6
            if self.index < self.len {
338
4
                let res = self.obj.get(self.index);
339
4
                self.index += 1;
340
4
                res
341
            } else {
342
2
                None
343
            }
344
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
80
        fn next(&mut self) -> Option<Self::Item> {
337
80
            if self.index < self.len {
338
60
                let res = self.obj.get(self.index);
339
60
                self.index += 1;
340
60
                res
341
            } else {
342
20
                None
343
            }
344
80
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
80
        fn next(&mut self) -> Option<Self::Item> {
337
80
            if self.index < self.len {
338
60
                let res = self.obj.get(self.index);
339
60
                self.index += 1;
340
60
                res
341
            } else {
342
20
                None
343
            }
344
80
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
30
        fn next(&mut self) -> Option<Self::Item> {
337
30
            if self.index < self.len {
338
20
                let res = self.obj.get(self.index);
339
20
                self.index += 1;
340
20
                res
341
            } else {
342
10
                None
343
            }
344
30
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
6
        fn next(&mut self) -> Option<Self::Item> {
337
6
            if self.index < self.len {
338
4
                let res = self.obj.get(self.index);
339
4
                self.index += 1;
340
4
                res
341
            } else {
342
2
                None
343
            }
344
6
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIterator<_, _> as core::iter::traits::iterator::Iterator>::next
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
80
        fn next(&mut self) -> Option<Self::Item> {
337
80
            if self.index < self.len {
338
60
                let res = self.obj.get(self.index);
339
60
                self.index += 1;
340
60
                res
341
            } else {
342
20
                None
343
            }
344
80
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
80
        fn next(&mut self) -> Option<Self::Item> {
337
80
            if self.index < self.len {
338
60
                let res = self.obj.get(self.index);
339
60
                self.index += 1;
340
60
                res
341
            } else {
342
20
                None
343
            }
344
80
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
30
        fn next(&mut self) -> Option<Self::Item> {
337
30
            if self.index < self.len {
338
20
                let res = self.obj.get(self.index);
339
20
                self.index += 1;
340
20
                res
341
            } else {
342
10
                None
343
            }
344
30
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
6
        fn next(&mut self) -> Option<Self::Item> {
337
6
            if self.index < self.len {
338
4
                let res = self.obj.get(self.index);
339
4
                self.index += 1;
340
4
                res
341
            } else {
342
2
                None
343
            }
344
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
6
        fn next(&mut self) -> Option<Self::Item> {
337
6
            if self.index < self.len {
338
4
                let res = self.obj.get(self.index);
339
4
                self.index += 1;
340
4
                res
341
            } else {
342
2
                None
343
            }
344
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
6
        fn next(&mut self) -> Option<Self::Item> {
337
6
            if self.index < self.len {
338
4
                let res = self.obj.get(self.index);
339
4
                self.index += 1;
340
4
                res
341
            } else {
342
2
                None
343
            }
344
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
2.05k
        fn next(&mut self) -> Option<Self::Item> {
337
2.05k
            if self.index < self.len {
338
2.04k
                let res = self.obj.get(self.index);
339
2.04k
                self.index += 1;
340
2.04k
                res
341
            } else {
342
2
                None
343
            }
344
2.05k
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<&str, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<&str>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
3
        fn next(&mut self) -> Option<Self::Item> {
337
3
            if self.index < self.len {
338
3
                let res = self.obj.get(self.index);
339
3
                self.index += 1;
340
3
                res
341
            } else {
342
0
                None
343
            }
344
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
39
        fn next(&mut self) -> Option<Self::Item> {
337
39
            if self.index < self.len {
338
31
                let res = self.obj.get(self.index);
339
31
                self.index += 1;
340
31
                res
341
            } else {
342
8
                None
343
            }
344
39
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
9.09k
        fn next(&mut self) -> Option<Self::Item> {
337
9.09k
            if self.index < self.len {
338
9.08k
                let res = self.obj.get(self.index);
339
9.08k
                self.index += 1;
340
9.08k
                res
341
            } else {
342
15
                None
343
            }
344
9.09k
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
104
        fn next(&mut self) -> Option<Self::Item> {
337
104
            if self.index < self.len {
338
83
                let res = self.obj.get(self.index);
339
83
                self.index += 1;
340
83
                res
341
            } else {
342
21
                None
343
            }
344
104
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
11
        fn next(&mut self) -> Option<Self::Item> {
337
11
            if self.index < self.len {
338
8
                let res = self.obj.get(self.index);
339
8
                self.index += 1;
340
8
                res
341
            } else {
342
3
                None
343
            }
344
11
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
40
        fn next(&mut self) -> Option<Self::Item> {
337
40
            if self.index < self.len {
338
30
                let res = self.obj.get(self.index);
339
30
                self.index += 1;
340
30
                res
341
            } else {
342
10
                None
343
            }
344
40
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<&str, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
3
        fn next(&mut self) -> Option<Self::Item> {
337
3
            if self.index < self.len {
338
3
                let res = self.obj.get(self.index);
339
3
                self.index += 1;
340
3
                res
341
            } else {
342
0
                None
343
            }
344
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
8
        fn next(&mut self) -> Option<Self::Item> {
337
8
            if self.index < self.len {
338
6
                let res = self.obj.get(self.index);
339
6
                self.index += 1;
340
6
                res
341
            } else {
342
2
                None
343
            }
344
8
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
33
        fn next(&mut self) -> Option<Self::Item> {
337
33
            if self.index < self.len {
338
27
                let res = self.obj.get(self.index);
339
27
                self.index += 1;
340
27
                res
341
            } else {
342
6
                None
343
            }
344
33
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<&str, ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
3
        fn next(&mut self) -> Option<Self::Item> {
337
3
            if self.index < self.len {
338
3
                let res = self.obj.get(self.index);
339
3
                self.index += 1;
340
3
                res
341
            } else {
342
0
                None
343
            }
344
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
336
13
        fn next(&mut self) -> Option<Self::Item> {
337
13
            if self.index < self.len {
338
11
                let res = self.obj.get(self.index);
339
11
                self.index += 1;
340
11
                res
341
            } else {
342
2
                None
343
            }
344
13
        }
345
346
115
        fn size_hint(&self) -> (usize, Option<usize>) {
347
115
            (self.len, Some(self.len))
348
115
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIterator<_, _> as core::iter::traits::iterator::Iterator>::size_hint
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
11
        fn size_hint(&self) -> (usize, Option<usize>) {
347
11
            (self.len, Some(self.len))
348
11
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
3
        fn size_hint(&self) -> (usize, Option<usize>) {
347
3
            (self.len, Some(self.len))
348
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
2
        fn size_hint(&self) -> (usize, Option<usize>) {
347
2
            (self.len, Some(self.len))
348
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
3
        fn size_hint(&self) -> (usize, Option<usize>) {
347
3
            (self.len, Some(self.len))
348
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
346
10
        fn size_hint(&self) -> (usize, Option<usize>) {
347
10
            (self.len, Some(self.len))
348
10
        }
349
    }
350
351
    impl<'rb, T: 'rb, RB: RingBuffer<T>> FusedIterator for RingBufferIterator<'rb, T, RB> {}
352
353
    impl<'rb, T: 'rb, RB: RingBuffer<T>> ExactSizeIterator for RingBufferIterator<'rb, T, RB> {}
354
355
    impl<'rb, T: 'rb, RB: RingBuffer<T>> DoubleEndedIterator for RingBufferIterator<'rb, T, RB> {
356
        #[inline]
357
39
        fn next_back(&mut self) -> Option<Self::Item> {
358
39
            if self.len > 0 && self.index < self.len {
359
36
                let res = self.obj.get(self.len - 1);
360
36
                self.len -= 1;
361
36
                res
362
            } else {
363
3
                None
364
            }
365
39
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIterator<_, _> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
Line
Count
Source
357
3
        fn next_back(&mut self) -> Option<Self::Item> {
358
3
            if self.len > 0 && self.index < self.len {
359
3
                let res = self.obj.get(self.len - 1);
360
3
                self.len -= 1;
361
3
                res
362
            } else {
363
0
                None
364
            }
365
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
Line
Count
Source
357
13
        fn next_back(&mut self) -> Option<Self::Item> {
358
13
            if self.len > 0 && self.index < self.len {
359
12
                let res = self.obj.get(self.len - 1);
360
12
                self.len -= 1;
361
12
                res
362
            } else {
363
1
                None
364
            }
365
13
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
Line
Count
Source
357
13
        fn next_back(&mut self) -> Option<Self::Item> {
358
13
            if self.len > 0 && self.index < self.len {
359
12
                let res = self.obj.get(self.len - 1);
360
12
                self.len -= 1;
361
12
                res
362
            } else {
363
1
                None
364
            }
365
13
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
Line
Count
Source
357
10
        fn next_back(&mut self) -> Option<Self::Item> {
358
10
            if self.len > 0 && self.index < self.len {
359
9
                let res = self.obj.get(self.len - 1);
360
9
                self.len -= 1;
361
9
                res
362
            } else {
363
1
                None
364
            }
365
10
        }
366
    }
367
368
    /// `RingBufferMutIterator` holds a reference to a `RingBuffer` and iterates over it. `index` is the
369
    /// current iterator position.
370
    ///
371
    /// WARNING: NEVER ACCESS THE `obj` FIELD OUTSIDE OF NEXT. It's private on purpose, and
372
    /// can technically be accessed in the same module. However, this breaks the safety of `next()`
373
    pub struct RingBufferMutIterator<'rb, T, RB: RingBuffer<T>> {
374
        obj: NonNull<RB>,
375
        index: usize,
376
        len: usize,
377
        phantom: PhantomData<&'rb mut T>,
378
    }
379
380
    impl<'rb, T, RB: RingBuffer<T>> RingBufferMutIterator<'rb, T, RB> {
381
15
        pub fn new(obj: &'rb mut RB) -> Self {
382
15
            Self {
383
15
                len: obj.len(),
384
15
                obj: NonNull::from(obj),
385
15
                index: 0,
386
15
                phantom: PhantomData,
387
15
            }
388
15
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<_, _>>::new
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>>>::new
Line
Count
Source
381
3
        pub fn new(obj: &'rb mut RB) -> Self {
382
3
            Self {
383
3
                len: obj.len(),
384
3
                obj: NonNull::from(obj),
385
3
                index: 0,
386
3
                phantom: PhantomData,
387
3
            }
388
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>>>::new
Line
Count
Source
381
2
        pub fn new(obj: &'rb mut RB) -> Self {
382
2
            Self {
383
2
                len: obj.len(),
384
2
                obj: NonNull::from(obj),
385
2
                index: 0,
386
2
                phantom: PhantomData,
387
2
            }
388
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
381
5
        pub fn new(obj: &'rb mut RB) -> Self {
382
5
            Self {
383
5
                len: obj.len(),
384
5
                obj: NonNull::from(obj),
385
5
                index: 0,
386
5
                phantom: PhantomData,
387
5
            }
388
5
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>>>::new
Line
Count
Source
381
5
        pub fn new(obj: &'rb mut RB) -> Self {
382
5
            Self {
383
5
                len: obj.len(),
384
5
                obj: NonNull::from(obj),
385
5
                index: 0,
386
5
                phantom: PhantomData,
387
5
            }
388
5
        }
389
    }
390
391
    impl<'rb, T: 'rb, RB: RingBuffer<T> + 'rb> FusedIterator for RingBufferMutIterator<'rb, T, RB> {}
392
393
    impl<'rb, T: 'rb, RB: RingBuffer<T> + 'rb> ExactSizeIterator for RingBufferMutIterator<'rb, T, RB> {}
394
395
    impl<'rb, T: 'rb, RB: RingBuffer<T> + 'rb> DoubleEndedIterator
396
        for RingBufferMutIterator<'rb, T, RB>
397
    {
398
        #[inline]
399
12
        fn next_back(&mut self) -> Option<Self::Item> {
400
12
            if self.len > 0 && self.index < self.len {
401
9
                self.len -= 1;
402
9
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.len) };
403
9
                res.map(|i| unsafe { &mut *i })
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<_, _> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back::{closure#0}
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back::{closure#0}
Line
Count
Source
403
3
                res.map(|i| unsafe { &mut *i })
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back::{closure#0}
Line
Count
Source
403
3
                res.map(|i| unsafe { &mut *i })
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back::{closure#0}
Line
Count
Source
403
3
                res.map(|i| unsafe { &mut *i })
404
            } else {
405
3
                None
406
            }
407
12
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<_, _> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
Line
Count
Source
399
4
        fn next_back(&mut self) -> Option<Self::Item> {
400
4
            if self.len > 0 && self.index < self.len {
401
3
                self.len -= 1;
402
3
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.len) };
403
3
                res.map(|i| unsafe { &mut *i })
404
            } else {
405
1
                None
406
            }
407
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
Line
Count
Source
399
4
        fn next_back(&mut self) -> Option<Self::Item> {
400
4
            if self.len > 0 && self.index < self.len {
401
3
                self.len -= 1;
402
3
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.len) };
403
3
                res.map(|i| unsafe { &mut *i })
404
            } else {
405
1
                None
406
            }
407
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
Line
Count
Source
399
4
        fn next_back(&mut self) -> Option<Self::Item> {
400
4
            if self.len > 0 && self.index < self.len {
401
3
                self.len -= 1;
402
3
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.len) };
403
3
                res.map(|i| unsafe { &mut *i })
404
            } else {
405
1
                None
406
            }
407
4
        }
408
    }
409
410
    impl<'rb, T, RB: RingBuffer<T> + 'rb> Iterator for RingBufferMutIterator<'rb, T, RB> {
411
        type Item = &'rb mut T;
412
413
47
        fn next(&mut self) -> Option<Self::Item> {
414
47
            if self.index < self.len {
415
35
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.index) };
416
35
                self.index += 1;
417
35
                // Safety: ptr_get_mut always returns a valid pointer
418
35
                res.map(|i| unsafe { &mut *i })
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<_, _> as core::iter::traits::iterator::Iterator>::next::{closure#0}
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::iterator::Iterator>::next::{closure#0}
Line
Count
Source
418
7
                res.map(|i| unsafe { &mut *i })
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next::{closure#0}
Line
Count
Source
418
4
                res.map(|i| unsafe { &mut *i })
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next::{closure#0}
Line
Count
Source
418
13
                res.map(|i| unsafe { &mut *i })
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next::{closure#0}
Line
Count
Source
418
11
                res.map(|i| unsafe { &mut *i })
419
            } else {
420
12
                None
421
            }
422
47
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<_, _> as core::iter::traits::iterator::Iterator>::next
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
413
17
        fn next(&mut self) -> Option<Self::Item> {
414
17
            if self.index < self.len {
415
13
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.index) };
416
13
                self.index += 1;
417
13
                // Safety: ptr_get_mut always returns a valid pointer
418
13
                res.map(|i| unsafe { &mut *i })
419
            } else {
420
4
                None
421
            }
422
17
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
413
9
        fn next(&mut self) -> Option<Self::Item> {
414
9
            if self.index < self.len {
415
7
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.index) };
416
7
                self.index += 1;
417
7
                // Safety: ptr_get_mut always returns a valid pointer
418
7
                res.map(|i| unsafe { &mut *i })
419
            } else {
420
2
                None
421
            }
422
9
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
413
6
        fn next(&mut self) -> Option<Self::Item> {
414
6
            if self.index < self.len {
415
4
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.index) };
416
4
                self.index += 1;
417
4
                // Safety: ptr_get_mut always returns a valid pointer
418
4
                res.map(|i| unsafe { &mut *i })
419
            } else {
420
2
                None
421
            }
422
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
413
15
        fn next(&mut self) -> Option<Self::Item> {
414
15
            if self.index < self.len {
415
11
                let res = unsafe { RB::ptr_get_mut(self.obj.as_ptr(), self.index) };
416
11
                self.index += 1;
417
11
                // Safety: ptr_get_mut always returns a valid pointer
418
11
                res.map(|i| unsafe { &mut *i })
419
            } else {
420
4
                None
421
            }
422
15
        }
423
424
3
        fn size_hint(&self) -> (usize, Option<usize>) {
425
3
            (self.len, Some(self.len))
426
3
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<_, _> as core::iter::traits::iterator::Iterator>::size_hint
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
424
1
        fn size_hint(&self) -> (usize, Option<usize>) {
425
1
            (self.len, Some(self.len))
426
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
424
1
        fn size_hint(&self) -> (usize, Option<usize>) {
425
1
            (self.len, Some(self.len))
426
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferMutIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
424
1
        fn size_hint(&self) -> (usize, Option<usize>) {
425
1
            (self.len, Some(self.len))
426
1
        }
427
    }
428
429
    /// `RingBufferMutIterator` holds a reference to a `RingBuffer` and iterates over it.
430
    pub struct RingBufferDrainingIterator<'rb, T, RB: RingBuffer<T>> {
431
        obj: &'rb mut RB,
432
        phantom: PhantomData<T>,
433
    }
434
435
    impl<'rb, T, RB: RingBuffer<T>> RingBufferDrainingIterator<'rb, T, RB> {
436
        #[inline]
437
914
        pub fn new(obj: &'rb mut RB) -> Self {
438
914
            Self {
439
914
                obj,
440
914
                phantom: PhantomData,
441
914
            }
442
914
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>>>::new
Line
Count
Source
437
14
        pub fn new(obj: &'rb mut RB) -> Self {
438
14
            Self {
439
14
                obj,
440
14
                phantom: PhantomData,
441
14
            }
442
14
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>>>::new
Line
Count
Source
437
3
        pub fn new(obj: &'rb mut RB) -> Self {
438
3
            Self {
439
3
                obj,
440
3
                phantom: PhantomData,
441
3
            }
442
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>>>::new
Line
Count
Source
437
28
        pub fn new(obj: &'rb mut RB) -> Self {
438
28
            Self {
439
28
                obj,
440
28
                phantom: PhantomData,
441
28
            }
442
28
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>>>::new
Line
Count
Source
437
14
        pub fn new(obj: &'rb mut RB) -> Self {
438
14
            Self {
439
14
                obj,
440
14
                phantom: PhantomData,
441
14
            }
442
14
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>>>::new
Line
Count
Source
437
3
        pub fn new(obj: &'rb mut RB) -> Self {
438
3
            Self {
439
3
                obj,
440
3
                phantom: PhantomData,
441
3
            }
442
3
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<u8, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize>>>::new
Line
Count
Source
437
422
        pub fn new(obj: &'rb mut RB) -> Self {
438
422
            Self {
439
422
                obj,
440
422
                phantom: PhantomData,
441
422
            }
442
422
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
437
80
        pub fn new(obj: &'rb mut RB) -> Self {
438
80
            Self {
439
80
                obj,
440
80
                phantom: PhantomData,
441
80
            }
442
80
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<alloc::vec::Vec<i32>, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>>>::new
Line
Count
Source
437
19
        pub fn new(obj: &'rb mut RB) -> Self {
438
19
            Self {
439
19
                obj,
440
19
                phantom: PhantomData,
441
19
            }
442
19
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize>>>::new
Line
Count
Source
437
10
        pub fn new(obj: &'rb mut RB) -> Self {
438
10
            Self {
439
10
                obj,
440
10
                phantom: PhantomData,
441
10
            }
442
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<&str, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>>>::new
Line
Count
Source
437
37
        pub fn new(obj: &'rb mut RB) -> Self {
438
37
            Self {
439
37
                obj,
440
37
                phantom: PhantomData,
441
37
            }
442
37
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<u8, ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<&str, ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<u8, ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize>>>::new
Line
Count
Source
437
78
        pub fn new(obj: &'rb mut RB) -> Self {
438
78
            Self {
439
78
                obj,
440
78
                phantom: PhantomData,
441
78
            }
442
78
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<ringbuffer::tests::test_dropping::Dropee, ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize>>>::new
Line
Count
Source
437
78
        pub fn new(obj: &'rb mut RB) -> Self {
438
78
            Self {
439
78
                obj,
440
78
                phantom: PhantomData,
441
78
            }
442
78
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize>>>::new
Line
Count
Source
437
2
        pub fn new(obj: &'rb mut RB) -> Self {
438
2
            Self {
439
2
                obj,
440
2
                phantom: PhantomData,
441
2
            }
442
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<ringbuffer::tests::test_dropping::Dropee, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize>>>::new
Line
Count
Source
437
16
        pub fn new(obj: &'rb mut RB) -> Self {
438
16
            Self {
439
16
                obj,
440
16
                phantom: PhantomData,
441
16
            }
442
16
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize>>>::new
Line
Count
Source
437
78
        pub fn new(obj: &'rb mut RB) -> Self {
438
78
            Self {
439
78
                obj,
440
78
                phantom: PhantomData,
441
78
            }
442
78
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize>>>::new
Line
Count
Source
437
1
        pub fn new(obj: &'rb mut RB) -> Self {
438
1
            Self {
439
1
                obj,
440
1
                phantom: PhantomData,
441
1
            }
442
1
        }
443
    }
444
445
    impl<'rb, T, RB: RingBuffer<T>> Iterator for RingBufferDrainingIterator<'rb, T, RB> {
446
        type Item = T;
447
448
25.6k
        fn next(&mut self) -> Option<T> {
449
25.6k
            self.obj.dequeue()
450
25.6k
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
6
        fn next(&mut self) -> Option<T> {
449
6
            self.obj.dequeue()
450
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
38
        fn next(&mut self) -> Option<T> {
449
38
            self.obj.dequeue()
450
38
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
6
        fn next(&mut self) -> Option<T> {
449
6
            self.obj.dequeue()
450
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
8
        fn next(&mut self) -> Option<T> {
449
8
            self.obj.dequeue()
450
8
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
4
        fn next(&mut self) -> Option<T> {
449
4
            self.obj.dequeue()
450
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
76
        fn next(&mut self) -> Option<T> {
449
76
            self.obj.dequeue()
450
76
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
4
        fn next(&mut self) -> Option<T> {
449
4
            self.obj.dequeue()
450
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
38
        fn next(&mut self) -> Option<T> {
449
38
            self.obj.dequeue()
450
38
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
6
        fn next(&mut self) -> Option<T> {
449
6
            self.obj.dequeue()
450
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
6
        fn next(&mut self) -> Option<T> {
449
6
            self.obj.dequeue()
450
6
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
8
        fn next(&mut self) -> Option<T> {
449
8
            self.obj.dequeue()
450
8
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<u8, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
14
        fn next(&mut self) -> Option<T> {
449
14
            self.obj.dequeue()
450
14
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
22.4k
        fn next(&mut self) -> Option<T> {
449
22.4k
            self.obj.dequeue()
450
22.4k
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
235
        fn next(&mut self) -> Option<T> {
449
235
            self.obj.dequeue()
450
235
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<alloc::vec::Vec<i32>, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
4
        fn next(&mut self) -> Option<T> {
449
4
            self.obj.dequeue()
450
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
51
        fn next(&mut self) -> Option<T> {
449
51
            self.obj.dequeue()
450
51
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
40
        fn next(&mut self) -> Option<T> {
449
40
            self.obj.dequeue()
450
40
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<&str, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
4
        fn next(&mut self) -> Option<T> {
449
4
            self.obj.dequeue()
450
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
8
        fn next(&mut self) -> Option<T> {
449
8
            self.obj.dequeue()
450
8
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
10
        fn next(&mut self) -> Option<T> {
449
10
            self.obj.dequeue()
450
10
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
105
        fn next(&mut self) -> Option<T> {
449
105
            self.obj.dequeue()
450
105
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<u8, ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
5
        fn next(&mut self) -> Option<T> {
449
5
            self.obj.dequeue()
450
5
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
1
        fn next(&mut self) -> Option<T> {
449
1
            self.obj.dequeue()
450
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<ringbuffer::tests::test_dropping::Dropee, ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
2
        fn next(&mut self) -> Option<T> {
449
2
            self.obj.dequeue()
450
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<&str, ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
4
        fn next(&mut self) -> Option<T> {
449
4
            self.obj.dequeue()
450
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<u8, ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
18
        fn next(&mut self) -> Option<T> {
449
18
            self.obj.dequeue()
450
18
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<ringbuffer::tests::test_dropping::Dropee, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
2
        fn next(&mut self) -> Option<T> {
449
2
            self.obj.dequeue()
450
2
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
138
        fn next(&mut self) -> Option<T> {
449
138
            self.obj.dequeue()
450
138
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
138
        fn next(&mut self) -> Option<T> {
449
138
            self.obj.dequeue()
450
138
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
2.05k
        fn next(&mut self) -> Option<T> {
449
2.05k
            self.obj.dequeue()
450
2.05k
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
46
        fn next(&mut self) -> Option<T> {
449
46
            self.obj.dequeue()
450
46
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
4
        fn next(&mut self) -> Option<T> {
449
4
            self.obj.dequeue()
450
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
138
        fn next(&mut self) -> Option<T> {
449
138
            self.obj.dequeue()
450
138
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<usize, ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
9
        fn next(&mut self) -> Option<T> {
449
9
            self.obj.dequeue()
450
9
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
448
16
        fn next(&mut self) -> Option<T> {
449
16
            self.obj.dequeue()
450
16
        }
451
452
4
        fn size_hint(&self) -> (usize, Option<usize>) {
453
4
            (self.obj.len(), Some(self.obj.len()))
454
4
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
452
1
        fn size_hint(&self) -> (usize, Option<usize>) {
453
1
            (self.obj.len(), Some(self.obj.len()))
454
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
452
1
        fn size_hint(&self) -> (usize, Option<usize>) {
453
1
            (self.obj.len(), Some(self.obj.len()))
454
1
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<_, _> as core::iter::traits::iterator::Iterator>::size_hint
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
452
1
        fn size_hint(&self) -> (usize, Option<usize>) {
453
1
            (self.obj.len(), Some(self.obj.len()))
454
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<char, ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize>> as core::iter::traits::iterator::Iterator>::size_hint
Line
Count
Source
452
1
        fn size_hint(&self) -> (usize, Option<usize>) {
453
1
            (self.obj.len(), Some(self.obj.len()))
454
1
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferDrainingIterator<_, _> as core::iter::traits::iterator::Iterator>::size_hint
455
    }
456
457
    /// `RingBufferIntoIterator` holds a `RingBuffer` and iterates over it.
458
    pub struct RingBufferIntoIterator<T, RB: RingBuffer<T>> {
459
        obj: RB,
460
        phantom: PhantomData<T>,
461
    }
462
463
    impl<T, RB: RingBuffer<T>> RingBufferIntoIterator<T, RB> {
464
        #[inline]
465
3
        pub fn new(obj: RB) -> Self {
466
3
            Self {
467
3
                obj,
468
3
                phantom: PhantomData,
469
3
            }
470
3
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<_, _>>::new
<ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>>>::new
Line
Count
Source
465
1
        pub fn new(obj: RB) -> Self {
466
1
            Self {
467
1
                obj,
468
1
                phantom: PhantomData,
469
1
            }
470
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>>>::new
Line
Count
Source
465
1
        pub fn new(obj: RB) -> Self {
466
1
            Self {
467
1
                obj,
468
1
                phantom: PhantomData,
469
1
            }
470
1
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>>>::new
Line
Count
Source
465
1
        pub fn new(obj: RB) -> Self {
466
1
            Self {
467
1
                obj,
468
1
                phantom: PhantomData,
469
1
            }
470
1
        }
471
    }
472
473
    impl<T, RB: RingBuffer<T>> Iterator for RingBufferIntoIterator<T, RB> {
474
        type Item = T;
475
476
        #[inline]
477
24
        fn next(&mut self) -> Option<Self::Item> {
478
24
            self.obj.dequeue()
479
24
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<_, _> as core::iter::traits::iterator::Iterator>::next
<ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<i32, ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
477
8
        fn next(&mut self) -> Option<Self::Item> {
478
8
            self.obj.dequeue()
479
8
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<i32, ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
477
8
        fn next(&mut self) -> Option<Self::Item> {
478
8
            self.obj.dequeue()
479
8
        }
<ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<i32, ringbuffer::with_alloc::vecdeque::GrowableAllocRingBuffer<i32>> as core::iter::traits::iterator::Iterator>::next
Line
Count
Source
477
8
        fn next(&mut self) -> Option<Self::Item> {
478
8
            self.obj.dequeue()
479
8
        }
480
481
0
        fn size_hint(&self) -> (usize, Option<usize>) {
482
0
            (self.obj.len(), Some(self.obj.len()))
483
0
        }
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<_, _> as core::iter::traits::iterator::Iterator>::size_hint
Unexecuted instantiation: <ringbuffer::ringbuffer_trait::iter::RingBufferIntoIterator<_, _> as core::iter::traits::iterator::Iterator>::size_hint
484
    }
485
}
486
487
pub use iter::{
488
    RingBufferDrainingIterator, RingBufferIntoIterator, RingBufferIterator, RingBufferMutIterator,
489
};
490
491
/// Implement various functions on implementors of [`RingBuffer`].
492
/// This is to avoid duplicate code.
493
macro_rules! impl_ringbuffer {
494
    ($readptr: ident, $writeptr: ident) => {
495
        #[inline]
496
3.53M
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
3.53M
            (*rb).$writeptr - (*rb).$readptr
498
3.53M
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
20
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
20
            (*rb).$writeptr - (*rb).$readptr
498
20
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::ptr_len
Line
Count
Source
496
237
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
237
            (*rb).$writeptr - (*rb).$readptr
498
237
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
21
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
21
            (*rb).$writeptr - (*rb).$readptr
498
21
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
6
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
6
            (*rb).$writeptr - (*rb).$readptr
498
6
        }
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<_, _> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::ptr_len
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::ptr_len
Line
Count
Source
496
488
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
488
            (*rb).$writeptr - (*rb).$readptr
498
488
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
20
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
20
            (*rb).$writeptr - (*rb).$readptr
498
20
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 50usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
6
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
6
            (*rb).$writeptr - (*rb).$readptr
498
6
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
21
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
21
            (*rb).$writeptr - (*rb).$readptr
498
21
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::ptr_len
Line
Count
Source
496
237
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
237
            (*rb).$writeptr - (*rb).$readptr
498
237
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::ptr_len
Line
Count
Source
496
42
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
42
            (*rb).$writeptr - (*rb).$readptr
498
42
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::ptr_len
Line
Count
Source
496
6.25k
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
6.25k
            (*rb).$writeptr - (*rb).$readptr
498
6.25k
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
214
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
214
            (*rb).$writeptr - (*rb).$readptr
498
214
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
220
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
220
            (*rb).$writeptr - (*rb).$readptr
498
220
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::ptr_len
Line
Count
Source
496
3.64k
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
3.64k
            (*rb).$writeptr - (*rb).$readptr
498
3.64k
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::ptr_len
Line
Count
Source
496
14
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
14
            (*rb).$writeptr - (*rb).$readptr
498
14
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::ptr_len
Line
Count
Source
496
49
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
49
            (*rb).$writeptr - (*rb).$readptr
498
49
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<ringbuffer::tests::test_dropping::Dropee, 1usize> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::ptr_len
Line
Count
Source
496
4
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
4
            (*rb).$writeptr - (*rb).$readptr
498
4
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
1.60M
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
1.60M
            (*rb).$writeptr - (*rb).$readptr
498
1.60M
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 10usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::ptr_len
Line
Count
Source
496
101k
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
101k
            (*rb).$writeptr - (*rb).$readptr
498
101k
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::ptr_len
Line
Count
Source
496
21
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
21
            (*rb).$writeptr - (*rb).$readptr
498
21
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
99.4k
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
99.4k
            (*rb).$writeptr - (*rb).$readptr
498
99.4k
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
131
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
131
            (*rb).$writeptr - (*rb).$readptr
498
131
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::ptr_len
Line
Count
Source
496
1.31k
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
1.31k
            (*rb).$writeptr - (*rb).$readptr
498
1.31k
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
60
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
60
            (*rb).$writeptr - (*rb).$readptr
498
60
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
15.1k
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
15.1k
            (*rb).$writeptr - (*rb).$readptr
498
15.1k
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::ptr_len
Line
Count
Source
496
28
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
28
            (*rb).$writeptr - (*rb).$readptr
498
28
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::ptr_len
Line
Count
Source
496
8
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
8
            (*rb).$writeptr - (*rb).$readptr
498
8
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::ptr_len
Line
Count
Source
496
63
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
63
            (*rb).$writeptr - (*rb).$readptr
498
63
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::ptr_len
Line
Count
Source
496
101k
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
101k
            (*rb).$writeptr - (*rb).$readptr
498
101k
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<ringbuffer::tests::test_dropping::Dropee> as ringbuffer::ringbuffer_trait::RingBuffer<ringbuffer::tests::test_dropping::Dropee>>::ptr_len
Line
Count
Source
496
4
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
4
            (*rb).$writeptr - (*rb).$readptr
498
4
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::ptr_len
Line
Count
Source
496
14
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
14
            (*rb).$writeptr - (*rb).$readptr
498
14
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_len
Line
Count
Source
496
1.60M
        unsafe fn ptr_len(rb: *const Self) -> usize {
497
1.60M
            (*rb).$writeptr - (*rb).$readptr
498
1.60M
        }
499
    };
500
}
501
502
/// Implement various functions on implementors of [`RingBuffer`].
503
/// This is to avoid duplicate code.
504
macro_rules! impl_ringbuffer_ext {
505
    ($get_unchecked: ident, $get_unchecked_mut: ident, $readptr: ident, $writeptr: ident, $mask: expr) => {
506
        #[inline]
507
400k
        fn get_signed(&self, index: isize) -> Option<&T> {
508
400k
            use core::ops::Not;
509
400k
            self.is_empty().not().then(move || {
510
                let index_from_readptr = if index >= 0 {
511
                    index
512
                } else {
513
                    self.len() as isize + index
514
                };
515
516
                let normalized_index =
517
                    self.$readptr as isize + index_from_readptr.rem_euclid(self.len() as isize);
518
519
                unsafe {
520
                    // SAFETY: index has been modulo-ed to be within range
521
                    // to be within bounds
522
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index as usize))
523
                }
524
400k
            })
525
400k
        }
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<_, _> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get_signed
Unexecuted instantiation: <ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<_> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get_signed
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_signed
Line
Count
Source
507
9
        fn get_signed(&self, index: isize) -> Option<&T> {
508
9
            use core::ops::Not;
509
9
            self.is_empty().not().then(move || {
510
                let index_from_readptr = if index >= 0 {
511
                    index
512
                } else {
513
                    self.len() as isize + index
514
                };
515
516
                let normalized_index =
517
                    self.$readptr as isize + index_from_readptr.rem_euclid(self.len() as isize);
518
519
                unsafe {
520
                    // SAFETY: index has been modulo-ed to be within range
521
                    // to be within bounds
522
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index as usize))
523
                }
524
9
            })
525
9
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::get_signed
Line
Count
Source
507
10
        fn get_signed(&self, index: isize) -> Option<&T> {
508
10
            use core::ops::Not;
509
10
            self.is_empty().not().then(move || {
510
                let index_from_readptr = if index >= 0 {
511
                    index
512
                } else {
513
                    self.len() as isize + index
514
                };
515
516
                let normalized_index =
517
                    self.$readptr as isize + index_from_readptr.rem_euclid(self.len() as isize);
518
519
                unsafe {
520
                    // SAFETY: index has been modulo-ed to be within range
521
                    // to be within bounds
522
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index as usize))
523
                }
524
10
            })
525
10
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_signed
Line
Count
Source
507
200k
        fn get_signed(&self, index: isize) -> Option<&T> {
508
200k
            use core::ops::Not;
509
200k
            self.is_empty().not().then(move || {
510
                let index_from_readptr = if index >= 0 {
511
                    index
512
                } else {
513
                    self.len() as isize + index
514
                };
515
516
                let normalized_index =
517
                    self.$readptr as isize + index_from_readptr.rem_euclid(self.len() as isize);
518
519
                unsafe {
520
                    // SAFETY: index has been modulo-ed to be within range
521
                    // to be within bounds
522
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index as usize))
523
                }
524
200k
            })
525
200k
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::get_signed
Line
Count
Source
507
10
        fn get_signed(&self, index: isize) -> Option<&T> {
508
10
            use core::ops::Not;
509
10
            self.is_empty().not().then(move || {
510
                let index_from_readptr = if index >= 0 {
511
                    index
512
                } else {
513
                    self.len() as isize + index
514
                };
515
516
                let normalized_index =
517
                    self.$readptr as isize + index_from_readptr.rem_euclid(self.len() as isize);
518
519
                unsafe {
520
                    // SAFETY: index has been modulo-ed to be within range
521
                    // to be within bounds
522
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index as usize))
523
                }
524
10
            })
525
10
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get_signed
Line
Count
Source
507
200k
        fn get_signed(&self, index: isize) -> Option<&T> {
508
200k
            use core::ops::Not;
509
200k
            self.is_empty().not().then(move || {
510
                let index_from_readptr = if index >= 0 {
511
                    index
512
                } else {
513
                    self.len() as isize + index
514
                };
515
516
                let normalized_index =
517
                    self.$readptr as isize + index_from_readptr.rem_euclid(self.len() as isize);
518
519
                unsafe {
520
                    // SAFETY: index has been modulo-ed to be within range
521
                    // to be within bounds
522
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index as usize))
523
                }
524
200k
            })
525
200k
        }
526
527
        #[inline]
528
2.60k
        fn get(&self, index: usize) -> Option<&T> {
529
2.60k
            use core::ops::Not;
530
2.60k
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
2.60k
            })
538
2.60k
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::get
Line
Count
Source
528
60
        fn get(&self, index: usize) -> Option<&T> {
529
60
            use core::ops::Not;
530
60
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
60
            })
538
60
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
4
        fn get(&self, index: usize) -> Option<&T> {
529
4
            use core::ops::Not;
530
4
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
4
            })
538
4
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::get
Line
Count
Source
528
60
        fn get(&self, index: usize) -> Option<&T> {
529
60
            use core::ops::Not;
530
60
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
60
            })
538
60
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
4
        fn get(&self, index: usize) -> Option<&T> {
529
4
            use core::ops::Not;
530
4
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
4
            })
538
4
        }
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<_, _> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get
Unexecuted instantiation: <ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<_> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::get
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
4
        fn get(&self, index: usize) -> Option<&T> {
529
4
            use core::ops::Not;
530
4
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
4
            })
538
4
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<char> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::get
Line
Count
Source
528
60
        fn get(&self, index: usize) -> Option<&T> {
529
60
            use core::ops::Not;
530
60
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
60
            })
538
60
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::get
Line
Count
Source
528
60
        fn get(&self, index: usize) -> Option<&T> {
529
60
            use core::ops::Not;
530
60
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
60
            })
538
60
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
4
        fn get(&self, index: usize) -> Option<&T> {
529
4
            use core::ops::Not;
530
4
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
4
            })
538
4
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<&str, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::get
Line
Count
Source
528
3
        fn get(&self, index: usize) -> Option<&T> {
529
3
            use core::ops::Not;
530
3
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
3
            })
538
3
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
56
        fn get(&self, index: usize) -> Option<&T> {
529
56
            use core::ops::Not;
530
56
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
56
            })
538
56
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::get
Line
Count
Source
528
8
        fn get(&self, index: usize) -> Option<&T> {
529
8
            use core::ops::Not;
530
8
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
8
            })
538
8
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
30
        fn get(&self, index: usize) -> Option<&T> {
529
30
            use core::ops::Not;
530
30
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
30
            })
538
30
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::get
Line
Count
Source
528
4
        fn get(&self, index: usize) -> Option<&T> {
529
4
            use core::ops::Not;
530
4
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
4
            })
538
4
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
31
        fn get(&self, index: usize) -> Option<&T> {
529
31
            use core::ops::Not;
530
31
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
31
            })
538
31
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
15
        fn get(&self, index: usize) -> Option<&T> {
529
15
            use core::ops::Not;
530
15
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
15
            })
538
15
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<char, 3usize> as ringbuffer::ringbuffer_trait::RingBuffer<char>>::get
Line
Count
Source
528
6
        fn get(&self, index: usize) -> Option<&T> {
529
6
            use core::ops::Not;
530
6
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
6
            })
538
6
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 7usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
14
        fn get(&self, index: usize) -> Option<&T> {
529
14
            use core::ops::Not;
530
14
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
14
            })
538
14
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 1024usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
2.04k
        fn get(&self, index: usize) -> Option<&T> {
529
2.04k
            use core::ops::Not;
530
2.04k
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
2.04k
            })
538
2.04k
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::get
Line
Count
Source
528
122
        fn get(&self, index: usize) -> Option<&T> {
529
122
            use core::ops::Not;
530
122
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
122
            })
538
122
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<u8> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::get
Line
Count
Source
528
12
        fn get(&self, index: usize) -> Option<&T> {
529
12
            use core::ops::Not;
530
12
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
12
            })
538
12
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<&str> as ringbuffer::ringbuffer_trait::RingBuffer<&str>>::get
Line
Count
Source
528
3
        fn get(&self, index: usize) -> Option<&T> {
529
3
            use core::ops::Not;
530
3
            self.is_empty().not().then(move || {
531
                let normalized_index = self.$readptr + index.rem_euclid(self.len());
532
                unsafe {
533
                    // SAFETY: index has been modulo-ed to be within range
534
                    // to be within bounds
535
                    $get_unchecked(self, $mask(self.buffer_size(), normalized_index))
536
                }
537
3
            })
538
3
        }
539
540
        #[inline]
541
        #[doc(hidden)]
542
14
        unsafe fn ptr_get_mut_signed(rb: *mut Self, index: isize) -> Option<*mut T> {
543
14
            (Self::ptr_len(rb) != 0).then(move || {
544
                let index_from_readptr = if index >= 0 {
545
                    index
546
                } else {
547
                    Self::ptr_len(rb) as isize + index
548
                };
549
550
                let normalized_index = (*rb).$readptr as isize
551
                    + index_from_readptr.rem_euclid(Self::ptr_len(rb) as isize);
552
553
                unsafe {
554
                    // SAFETY: index has been modulo-ed to be within range
555
                    // to be within bounds
556
                    $get_unchecked_mut(
557
                        rb,
558
                        $mask(Self::ptr_buffer_size(rb), normalized_index as usize),
559
                    )
560
                }
561
14
            })
562
14
        }
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<_, _> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::ptr_get_mut_signed
Unexecuted instantiation: <ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<_> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::ptr_get_mut_signed
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_get_mut_signed
Line
Count
Source
542
1
        unsafe fn ptr_get_mut_signed(rb: *mut Self, index: isize) -> Option<*mut T> {
543
1
            (Self::ptr_len(rb) != 0).then(move || {
544
                let index_from_readptr = if index >= 0 {
545
                    index
546
                } else {
547
                    Self::ptr_len(rb) as isize + index
548
                };
549
550
                let normalized_index = (*rb).$readptr as isize
551
                    + index_from_readptr.rem_euclid(Self::ptr_len(rb) as isize);
552
553
                unsafe {
554
                    // SAFETY: index has been modulo-ed to be within range
555
                    // to be within bounds
556
                    $get_unchecked_mut(
557
                        rb,
558
                        $mask(Self::ptr_buffer_size(rb), normalized_index as usize),
559
                    )
560
                }
561
1
            })
562
1
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_get_mut_signed
Line
Count
Source
542
6
        unsafe fn ptr_get_mut_signed(rb: *mut Self, index: isize) -> Option<*mut T> {
543
6
            (Self::ptr_len(rb) != 0).then(move || {
544
                let index_from_readptr = if index >= 0 {
545
                    index
546
                } else {
547
                    Self::ptr_len(rb) as isize + index
548
                };
549
550
                let normalized_index = (*rb).$readptr as isize
551
                    + index_from_readptr.rem_euclid(Self::ptr_len(rb) as isize);
552
553
                unsafe {
554
                    // SAFETY: index has been modulo-ed to be within range
555
                    // to be within bounds
556
                    $get_unchecked_mut(
557
                        rb,
558
                        $mask(Self::ptr_buffer_size(rb), normalized_index as usize),
559
                    )
560
                }
561
6
            })
562
6
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_get_mut_signed
Line
Count
Source
542
7
        unsafe fn ptr_get_mut_signed(rb: *mut Self, index: isize) -> Option<*mut T> {
543
7
            (Self::ptr_len(rb) != 0).then(move || {
544
                let index_from_readptr = if index >= 0 {
545
                    index
546
                } else {
547
                    Self::ptr_len(rb) as isize + index
548
                };
549
550
                let normalized_index = (*rb).$readptr as isize
551
                    + index_from_readptr.rem_euclid(Self::ptr_len(rb) as isize);
552
553
                unsafe {
554
                    // SAFETY: index has been modulo-ed to be within range
555
                    // to be within bounds
556
                    $get_unchecked_mut(
557
                        rb,
558
                        $mask(Self::ptr_buffer_size(rb), normalized_index as usize),
559
                    )
560
                }
561
7
            })
562
7
        }
563
564
        #[inline]
565
        #[doc(hidden)]
566
42
        unsafe fn ptr_get_mut(rb: *mut Self, index: usize) -> Option<*mut T> {
567
42
            (Self::ptr_len(rb) != 0).then(move || {
568
                let normalized_index = (*rb).$readptr + index.rem_euclid(Self::ptr_len(rb));
569
570
                unsafe {
571
                    // SAFETY: index has been modulo-ed to be within range
572
                    // to be within bounds
573
                    $get_unchecked_mut(rb, $mask(Self::ptr_buffer_size(rb), normalized_index))
574
                }
575
42
            })
576
42
        }
Unexecuted instantiation: <ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<_> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::ptr_get_mut
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<_, _> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::ptr_get_mut
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_get_mut
Line
Count
Source
566
15
        unsafe fn ptr_get_mut(rb: *mut Self, index: usize) -> Option<*mut T> {
567
15
            (Self::ptr_len(rb) != 0).then(move || {
568
                let normalized_index = (*rb).$readptr + index.rem_euclid(Self::ptr_len(rb));
569
570
                unsafe {
571
                    // SAFETY: index has been modulo-ed to be within range
572
                    // to be within bounds
573
                    $get_unchecked_mut(rb, $mask(Self::ptr_buffer_size(rb), normalized_index))
574
                }
575
15
            })
576
15
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 2usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_get_mut
Line
Count
Source
566
6
        unsafe fn ptr_get_mut(rb: *mut Self, index: usize) -> Option<*mut T> {
567
6
            (Self::ptr_len(rb) != 0).then(move || {
568
                let normalized_index = (*rb).$readptr + index.rem_euclid(Self::ptr_len(rb));
569
570
                unsafe {
571
                    // SAFETY: index has been modulo-ed to be within range
572
                    // to be within bounds
573
                    $get_unchecked_mut(rb, $mask(Self::ptr_buffer_size(rb), normalized_index))
574
                }
575
6
            })
576
6
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::ptr_get_mut
Line
Count
Source
566
21
        unsafe fn ptr_get_mut(rb: *mut Self, index: usize) -> Option<*mut T> {
567
21
            (Self::ptr_len(rb) != 0).then(move || {
568
                let normalized_index = (*rb).$readptr + index.rem_euclid(Self::ptr_len(rb));
569
570
                unsafe {
571
                    // SAFETY: index has been modulo-ed to be within range
572
                    // to be within bounds
573
                    $get_unchecked_mut(rb, $mask(Self::ptr_buffer_size(rb), normalized_index))
574
                }
575
21
            })
576
21
        }
577
578
        #[inline]
579
293
        fn clear(&mut self) {
580
22.2k
            for i in self.
drain()293
{
581
22.2k
                drop(i);
582
22.2k
            }
583
584
293
            self.$readptr = 0;
585
293
            self.$writeptr = 0;
586
293
        }
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<_, _> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::clear
Unexecuted instantiation: <ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<_> as ringbuffer::ringbuffer_trait::RingBuffer<_>>::clear
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::clear
Line
Count
Source
579
33
        fn clear(&mut self) {
580
60
            for i in self.
drain()33
{
581
60
                drop(i);
582
60
            }
583
584
33
            self.$readptr = 0;
585
33
            self.$writeptr = 0;
586
33
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::clear
Line
Count
Source
579
8
        fn clear(&mut self) {
580
12
            for i in self.
drain()8
{
581
12
                drop(i);
582
12
            }
583
584
8
            self.$readptr = 0;
585
8
            self.$writeptr = 0;
586
8
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::clear
Line
Count
Source
579
1
        fn clear(&mut self) {
580
8
            for i in self.
drain()1
{
581
8
                drop(i);
582
8
            }
583
584
1
            self.$readptr = 0;
585
1
            self.$writeptr = 0;
586
1
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 8usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::clear
Line
Count
Source
579
2
        fn clear(&mut self) {
580
6
            for i in self.
drain()2
{
581
6
                drop(i);
582
6
            }
583
584
2
            self.$readptr = 0;
585
2
            self.$writeptr = 0;
586
2
        }
Unexecuted instantiation: <ringbuffer::with_const_generics::ConstGenericRingBuffer<u8, 4usize> as ringbuffer::ringbuffer_trait::RingBuffer<u8>>::clear
<ringbuffer::with_const_generics::ConstGenericRingBuffer<i32, 128usize> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::clear
Line
Count
Source
579
172
        fn clear(&mut self) {
580
22.0k
            for i in self.
drain()172
{
581
22.0k
                drop(i);
582
22.0k
            }
583
584
172
            self.$readptr = 0;
585
172
            self.$writeptr = 0;
586
172
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 70usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::clear
Line
Count
Source
579
33
        fn clear(&mut self) {
580
60
            for i in self.
drain()33
{
581
60
                drop(i);
582
60
            }
583
584
33
            self.$readptr = 0;
585
33
            self.$writeptr = 0;
586
33
        }
<ringbuffer::with_const_generics::ConstGenericRingBuffer<usize, 17usize> as ringbuffer::ringbuffer_trait::RingBuffer<usize>>::clear
Line
Count
Source
579
33
        fn clear(&mut self) {
580
60
            for i in self.
drain()33
{
581
60
                drop(i);
582
60
            }
583
584
33
            self.$readptr = 0;
585
33
            self.$writeptr = 0;
586
33
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<alloc::vec::Vec<i32>> as ringbuffer::ringbuffer_trait::RingBuffer<alloc::vec::Vec<i32>>>::clear
Line
Count
Source
579
1
        fn clear(&mut self) {
580
2
            for i in self.
drain()1
{
581
2
                drop(i);
582
2
            }
583
584
1
            self.$readptr = 0;
585
1
            self.$writeptr = 0;
586
1
        }
<ringbuffer::with_alloc::alloc_ringbuffer::AllocRingBuffer<i32> as ringbuffer::ringbuffer_trait::RingBuffer<i32>>::clear
Line
Count
Source
579
10
        fn clear(&mut self) {
580
18
            for i in self.
drain()10
{
581
18
                drop(i);
582
18
            }
583
584
10
            self.$readptr = 0;
585
10
            self.$writeptr = 0;
586
10
        }
587
    };
588
}