Coverage Report

Created: 2026-02-14 06:05

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/nested.rs
Line
Count
Source
1
//! Reader type for consuming nested TLV records within a DER document.
2
3
use crate::{reader::Reader, Error, ErrorKind, Header, Length, Result};
4
5
/// Reader type used by [`Reader::read_nested`].
6
pub struct NestedReader<'i, R> {
7
    /// Inner reader type.
8
    inner: &'i mut R,
9
10
    /// Nested input length.
11
    input_len: Length,
12
13
    /// Position within the nested input.
14
    position: Length,
15
}
16
17
impl<'i, 'r, R: Reader<'r>> NestedReader<'i, R> {
18
    /// Create a new nested reader which can read the given [`Length`].
19
158k
    pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> {
20
158k
        if len <= inner.remaining_len() {
21
158k
            Ok(Self {
22
158k
                inner,
23
158k
                input_len: len,
24
158k
                position: Length::ZERO,
25
158k
            })
26
        } else {
27
            Err(ErrorKind::Incomplete {
28
464
                expected_len: (inner.offset() + len)?,
29
443
                actual_len: (inner.offset() + inner.remaining_len())?,
30
            }
31
443
            .at(inner.offset()))
32
        }
33
158k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::new
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::new
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::new
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::new
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::new
Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::new
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::new
Line
Count
Source
19
79.4k
    pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> {
20
79.4k
        if len <= inner.remaining_len() {
21
79.4k
            Ok(Self {
22
79.4k
                inner,
23
79.4k
                input_len: len,
24
79.4k
                position: Length::ZERO,
25
79.4k
            })
26
        } else {
27
            Err(ErrorKind::Incomplete {
28
65
                expected_len: (inner.offset() + len)?,
29
63
                actual_len: (inner.offset() + inner.remaining_len())?,
30
            }
31
63
            .at(inner.offset()))
32
        }
33
79.4k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::new
Line
Count
Source
19
62.3k
    pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> {
20
62.3k
        if len <= inner.remaining_len() {
21
62.3k
            Ok(Self {
22
62.3k
                inner,
23
62.3k
                input_len: len,
24
62.3k
                position: Length::ZERO,
25
62.3k
            })
26
        } else {
27
            Err(ErrorKind::Incomplete {
28
76
                expected_len: (inner.offset() + len)?,
29
71
                actual_len: (inner.offset() + inner.remaining_len())?,
30
            }
31
71
            .at(inner.offset()))
32
        }
33
62.3k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::new
Line
Count
Source
19
10.8k
    pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> {
20
10.8k
        if len <= inner.remaining_len() {
21
10.7k
            Ok(Self {
22
10.7k
                inner,
23
10.7k
                input_len: len,
24
10.7k
                position: Length::ZERO,
25
10.7k
            })
26
        } else {
27
            Err(ErrorKind::Incomplete {
28
152
                expected_len: (inner.offset() + len)?,
29
148
                actual_len: (inner.offset() + inner.remaining_len())?,
30
            }
31
148
            .at(inner.offset()))
32
        }
33
10.8k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::new
Line
Count
Source
19
3.10k
    pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> {
20
3.10k
        if len <= inner.remaining_len() {
21
3.04k
            Ok(Self {
22
3.04k
                inner,
23
3.04k
                input_len: len,
24
3.04k
                position: Length::ZERO,
25
3.04k
            })
26
        } else {
27
            Err(ErrorKind::Incomplete {
28
58
                expected_len: (inner.offset() + len)?,
29
52
                actual_len: (inner.offset() + inner.remaining_len())?,
30
            }
31
52
            .at(inner.offset()))
32
        }
33
3.10k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::new
Line
Count
Source
19
3.09k
    pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> {
20
3.09k
        if len <= inner.remaining_len() {
21
2.98k
            Ok(Self {
22
2.98k
                inner,
23
2.98k
                input_len: len,
24
2.98k
                position: Length::ZERO,
25
2.98k
            })
26
        } else {
27
            Err(ErrorKind::Incomplete {
28
113
                expected_len: (inner.offset() + len)?,
29
109
                actual_len: (inner.offset() + inner.remaining_len())?,
30
            }
31
109
            .at(inner.offset()))
32
        }
33
3.09k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::new
34
35
    /// Move the position cursor the given length, returning an error if there
36
    /// isn't enough remaining data in the nested input.
37
3.41M
    fn advance_position(&mut self, len: Length) -> Result<()> {
38
3.41M
        let new_position = (self.position + len)?;
39
40
3.41M
        if new_position <= self.input_len {
41
3.41M
            self.position = new_position;
42
3.41M
            Ok(())
43
        } else {
44
            Err(ErrorKind::Incomplete {
45
826
                expected_len: (self.inner.offset() + len)?,
46
814
                actual_len: (self.inner.offset() + self.remaining_len())?,
47
            }
48
814
            .at(self.inner.offset()))
49
        }
50
3.41M
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::advance_position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::advance_position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::advance_position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::advance_position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::advance_position
Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::advance_position
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::advance_position
Line
Count
Source
37
444k
    fn advance_position(&mut self, len: Length) -> Result<()> {
38
444k
        let new_position = (self.position + len)?;
39
40
444k
        if new_position <= self.input_len {
41
444k
            self.position = new_position;
42
444k
            Ok(())
43
        } else {
44
            Err(ErrorKind::Incomplete {
45
78
                expected_len: (self.inner.offset() + len)?,
46
76
                actual_len: (self.inner.offset() + self.remaining_len())?,
47
            }
48
76
            .at(self.inner.offset()))
49
        }
50
444k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::advance_position
Line
Count
Source
37
608k
    fn advance_position(&mut self, len: Length) -> Result<()> {
38
608k
        let new_position = (self.position + len)?;
39
40
608k
        if new_position <= self.input_len {
41
608k
            self.position = new_position;
42
608k
            Ok(())
43
        } else {
44
            Err(ErrorKind::Incomplete {
45
69
                expected_len: (self.inner.offset() + len)?,
46
64
                actual_len: (self.inner.offset() + self.remaining_len())?,
47
            }
48
64
            .at(self.inner.offset()))
49
        }
50
608k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::advance_position
Line
Count
Source
37
762k
    fn advance_position(&mut self, len: Length) -> Result<()> {
38
762k
        let new_position = (self.position + len)?;
39
40
762k
        if new_position <= self.input_len {
41
761k
            self.position = new_position;
42
761k
            Ok(())
43
        } else {
44
            Err(ErrorKind::Incomplete {
45
248
                expected_len: (self.inner.offset() + len)?,
46
245
                actual_len: (self.inner.offset() + self.remaining_len())?,
47
            }
48
245
            .at(self.inner.offset()))
49
        }
50
762k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::advance_position
Line
Count
Source
37
794k
    fn advance_position(&mut self, len: Length) -> Result<()> {
38
794k
        let new_position = (self.position + len)?;
39
40
794k
        if new_position <= self.input_len {
41
793k
            self.position = new_position;
42
793k
            Ok(())
43
        } else {
44
            Err(ErrorKind::Incomplete {
45
330
                expected_len: (self.inner.offset() + len)?,
46
329
                actual_len: (self.inner.offset() + self.remaining_len())?,
47
            }
48
329
            .at(self.inner.offset()))
49
        }
50
794k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::advance_position
Line
Count
Source
37
802k
    fn advance_position(&mut self, len: Length) -> Result<()> {
38
802k
        let new_position = (self.position + len)?;
39
40
802k
        if new_position <= self.input_len {
41
802k
            self.position = new_position;
42
802k
            Ok(())
43
        } else {
44
            Err(ErrorKind::Incomplete {
45
101
                expected_len: (self.inner.offset() + len)?,
46
100
                actual_len: (self.inner.offset() + self.remaining_len())?,
47
            }
48
100
            .at(self.inner.offset()))
49
        }
50
802k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::advance_position
51
}
52
53
impl<'i, 'r, R: Reader<'r>> Reader<'r> for NestedReader<'i, R> {
54
905k
    fn input_len(&self) -> Length {
55
905k
        self.input_len
56
905k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::input_len
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::input_len
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::input_len
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::input_len
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::input_len
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::input_len
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::input_len
Line
Count
Source
54
205k
    fn input_len(&self) -> Length {
55
205k
        self.input_len
56
205k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::input_len
Line
Count
Source
54
343k
    fn input_len(&self) -> Length {
55
343k
        self.input_len
56
343k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::input_len
Line
Count
Source
54
202k
    fn input_len(&self) -> Length {
55
202k
        self.input_len
56
202k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::input_len
Line
Count
Source
54
81.7k
    fn input_len(&self) -> Length {
55
81.7k
        self.input_len
56
81.7k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::input_len
Line
Count
Source
54
72.2k
    fn input_len(&self) -> Length {
55
72.2k
        self.input_len
56
72.2k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::input_len
57
58
393k
    fn peek_byte(&self) -> Option<u8> {
59
393k
        if self.is_finished() {
60
68.0k
            None
61
        } else {
62
325k
            self.inner.peek_byte()
63
        }
64
393k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::peek_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::peek_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::peek_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::peek_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::peek_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_byte
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::peek_byte
Line
Count
Source
58
126k
    fn peek_byte(&self) -> Option<u8> {
59
126k
        if self.is_finished() {
60
64.8k
            None
61
        } else {
62
61.1k
            self.inner.peek_byte()
63
        }
64
126k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::peek_byte
Line
Count
Source
58
61.9k
    fn peek_byte(&self) -> Option<u8> {
59
61.9k
        if self.is_finished() {
60
455
            None
61
        } else {
62
61.5k
            self.inner.peek_byte()
63
        }
64
61.9k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::peek_byte
Line
Count
Source
58
66.4k
    fn peek_byte(&self) -> Option<u8> {
59
66.4k
        if self.is_finished() {
60
1.82k
            None
61
        } else {
62
64.6k
            self.inner.peek_byte()
63
        }
64
66.4k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::peek_byte
Line
Count
Source
58
69.7k
    fn peek_byte(&self) -> Option<u8> {
59
69.7k
        if self.is_finished() {
60
854
            None
61
        } else {
62
68.9k
            self.inner.peek_byte()
63
        }
64
69.7k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::peek_byte
Line
Count
Source
58
68.9k
    fn peek_byte(&self) -> Option<u8> {
59
68.9k
        if self.is_finished() {
60
0
            None
61
        } else {
62
68.9k
            self.inner.peek_byte()
63
        }
64
68.9k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_byte
65
66
0
    fn peek_header(&self) -> Result<Header> {
67
0
        if self.is_finished() {
68
0
            Err(Error::incomplete(self.offset()))
69
        } else {
70
            // TODO(tarcieri): handle peeking past nested length
71
0
            self.inner.peek_header()
72
        }
73
0
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_header
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_header
74
75
915k
    fn position(&self) -> Length {
76
915k
        self.position
77
915k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::position
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::position
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::position
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::position
Line
Count
Source
75
205k
    fn position(&self) -> Length {
76
205k
        self.position
77
205k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::position
Line
Count
Source
75
344k
    fn position(&self) -> Length {
76
344k
        self.position
77
344k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::position
Line
Count
Source
75
203k
    fn position(&self) -> Length {
76
203k
        self.position
77
203k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::position
Line
Count
Source
75
87.0k
    fn position(&self) -> Length {
76
87.0k
        self.position
77
87.0k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::position
Line
Count
Source
75
75.2k
    fn position(&self) -> Length {
76
75.2k
        self.position
77
75.2k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::position
78
79
143k
    fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> {
80
143k
        self.advance_position(len)?;
81
143k
        self.inner.read_slice(len)
82
143k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_slice
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_slice
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_slice
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_slice
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_slice
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_slice
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_slice
Line
Count
Source
79
25.1k
    fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> {
80
25.1k
        self.advance_position(len)?;
81
25.1k
        self.inner.read_slice(len)
82
25.1k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_slice
Line
Count
Source
79
25.4k
    fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> {
80
25.4k
        self.advance_position(len)?;
81
25.3k
        self.inner.read_slice(len)
82
25.4k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_slice
Line
Count
Source
79
29.2k
    fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> {
80
29.2k
        self.advance_position(len)?;
81
29.1k
        self.inner.read_slice(len)
82
29.2k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_slice
Line
Count
Source
79
31.7k
    fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> {
80
31.7k
        self.advance_position(len)?;
81
31.6k
        self.inner.read_slice(len)
82
31.7k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_slice
Line
Count
Source
79
31.7k
    fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> {
80
31.7k
        self.advance_position(len)?;
81
31.7k
        self.inner.read_slice(len)
82
31.7k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_slice
83
84
150
    fn error(&mut self, kind: ErrorKind) -> Error {
85
150
        self.inner.error(kind)
86
150
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::error
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::error
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::error
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::error
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::error
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::error
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::error
Line
Count
Source
84
30
    fn error(&mut self, kind: ErrorKind) -> Error {
85
30
        self.inner.error(kind)
86
30
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::error
Line
Count
Source
84
30
    fn error(&mut self, kind: ErrorKind) -> Error {
85
30
        self.inner.error(kind)
86
30
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::error
Line
Count
Source
84
30
    fn error(&mut self, kind: ErrorKind) -> Error {
85
30
        self.inner.error(kind)
86
30
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::error
Line
Count
Source
84
30
    fn error(&mut self, kind: ErrorKind) -> Error {
85
30
        self.inner.error(kind)
86
30
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::error
Line
Count
Source
84
30
    fn error(&mut self, kind: ErrorKind) -> Error {
85
30
        self.inner.error(kind)
86
30
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::error
87
88
6.45k
    fn offset(&self) -> Length {
89
6.45k
        self.inner.offset()
90
6.45k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::offset
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::offset
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::offset
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::offset
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::offset
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::offset
Line
Count
Source
88
421
    fn offset(&self) -> Length {
89
421
        self.inner.offset()
90
421
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::offset
Line
Count
Source
88
836
    fn offset(&self) -> Length {
89
836
        self.inner.offset()
90
836
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::offset
Line
Count
Source
88
2.02k
    fn offset(&self) -> Length {
89
2.02k
        self.inner.offset()
90
2.02k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::offset
Line
Count
Source
88
3.17k
    fn offset(&self) -> Length {
89
3.17k
        self.inner.offset()
90
3.17k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::offset
91
92
3.26M
    fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> {
93
3.26M
        self.advance_position(Length::try_from(out.len())?)?;
94
3.26M
        self.inner.read_into(out)
95
3.26M
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_into
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_into
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_into
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_into
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_into
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_into
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_into
Line
Count
Source
92
419k
    fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> {
93
419k
        self.advance_position(Length::try_from(out.len())?)?;
94
419k
        self.inner.read_into(out)
95
419k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_into
Line
Count
Source
92
583k
    fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> {
93
583k
        self.advance_position(Length::try_from(out.len())?)?;
94
583k
        self.inner.read_into(out)
95
583k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_into
Line
Count
Source
92
732k
    fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> {
93
732k
        self.advance_position(Length::try_from(out.len())?)?;
94
732k
        self.inner.read_into(out)
95
732k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_into
Line
Count
Source
92
762k
    fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> {
93
762k
        self.advance_position(Length::try_from(out.len())?)?;
94
762k
        self.inner.read_into(out)
95
762k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_into
Line
Count
Source
92
770k
    fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> {
93
770k
        self.advance_position(Length::try_from(out.len())?)?;
94
770k
        self.inner.read_into(out)
95
770k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_into
96
}