/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 | 70.6k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { |
20 | 70.6k | if len <= inner.remaining_len() { |
21 | 70.3k | Ok(Self { |
22 | 70.3k | inner, |
23 | 70.3k | input_len: len, |
24 | 70.3k | position: Length::ZERO, |
25 | 70.3k | }) |
26 | | } else { |
27 | | Err(ErrorKind::Incomplete { |
28 | 333 | expected_len: (inner.offset() + len)?, |
29 | 309 | actual_len: (inner.offset() + inner.remaining_len())?, |
30 | | } |
31 | 309 | .at(inner.offset())) |
32 | | } |
33 | 70.6k | } <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 | 26.5k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 26.5k | if len <= inner.remaining_len() { | 21 | 26.4k | Ok(Self { | 22 | 26.4k | inner, | 23 | 26.4k | input_len: len, | 24 | 26.4k | position: Length::ZERO, | 25 | 26.4k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 47 | expected_len: (inner.offset() + len)?, | 29 | 45 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 45 | .at(inner.offset())) | 32 | | } | 33 | 26.5k | } |
<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 | 24.8k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 24.8k | if len <= inner.remaining_len() { | 21 | 24.7k | Ok(Self { | 22 | 24.7k | inner, | 23 | 24.7k | input_len: len, | 24 | 24.7k | position: Length::ZERO, | 25 | 24.7k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 96 | expected_len: (inner.offset() + len)?, | 29 | 85 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 85 | .at(inner.offset())) | 32 | | } | 33 | 24.8k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::new Line | Count | Source | 19 | 12.7k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 12.7k | if len <= inner.remaining_len() { | 21 | 12.6k | Ok(Self { | 22 | 12.6k | inner, | 23 | 12.6k | input_len: len, | 24 | 12.6k | position: Length::ZERO, | 25 | 12.6k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 78 | expected_len: (inner.offset() + len)?, | 29 | 72 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 72 | .at(inner.offset())) | 32 | | } | 33 | 12.7k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::new Line | Count | Source | 19 | 3.23k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 3.23k | if len <= inner.remaining_len() { | 21 | 3.18k | Ok(Self { | 22 | 3.18k | inner, | 23 | 3.18k | input_len: len, | 24 | 3.18k | position: Length::ZERO, | 25 | 3.18k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 55 | expected_len: (inner.offset() + len)?, | 29 | 51 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 51 | .at(inner.offset())) | 32 | | } | 33 | 3.23k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::new Line | Count | Source | 19 | 3.30k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 3.30k | if len <= inner.remaining_len() { | 21 | 3.24k | Ok(Self { | 22 | 3.24k | inner, | 23 | 3.24k | input_len: len, | 24 | 3.24k | position: Length::ZERO, | 25 | 3.24k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 57 | expected_len: (inner.offset() + len)?, | 29 | 56 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 56 | .at(inner.offset())) | 32 | | } | 33 | 3.30k | } |
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 | 1.20M | fn advance_position(&mut self, len: Length) -> Result<()> { |
38 | 1.20M | let new_position = (self.position + len)?; |
39 | | |
40 | 1.20M | if new_position <= self.input_len { |
41 | 1.19M | self.position = new_position; |
42 | 1.19M | Ok(()) |
43 | | } else { |
44 | | Err(ErrorKind::Incomplete { |
45 | 397 | expected_len: (self.inner.offset() + len)?, |
46 | 375 | actual_len: (self.inner.offset() + self.remaining_len())?, |
47 | | } |
48 | 375 | .at(self.inner.offset())) |
49 | | } |
50 | 1.20M | } <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 | 120k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 120k | let new_position = (self.position + len)?; | 39 | | | 40 | 120k | if new_position <= self.input_len { | 41 | 120k | self.position = new_position; | 42 | 120k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 71 | expected_len: (self.inner.offset() + len)?, | 46 | 68 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 68 | .at(self.inner.offset())) | 49 | | } | 50 | 120k | } |
<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 | 181k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 181k | let new_position = (self.position + len)?; | 39 | | | 40 | 181k | if new_position <= self.input_len { | 41 | 181k | self.position = new_position; | 42 | 181k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 73 | expected_len: (self.inner.offset() + len)?, | 46 | 69 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 69 | .at(self.inner.offset())) | 49 | | } | 50 | 181k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::advance_position Line | Count | Source | 37 | 268k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 268k | let new_position = (self.position + len)?; | 39 | | | 40 | 268k | if new_position <= self.input_len { | 41 | 267k | self.position = new_position; | 42 | 267k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 103 | expected_len: (self.inner.offset() + len)?, | 46 | 95 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 95 | .at(self.inner.offset())) | 49 | | } | 50 | 268k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::advance_position Line | Count | Source | 37 | 305k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 305k | let new_position = (self.position + len)?; | 39 | | | 40 | 305k | if new_position <= self.input_len { | 41 | 305k | self.position = new_position; | 42 | 305k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 49 | expected_len: (self.inner.offset() + len)?, | 46 | 45 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 45 | .at(self.inner.offset())) | 49 | | } | 50 | 305k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::advance_position Line | Count | Source | 37 | 324k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 324k | let new_position = (self.position + len)?; | 39 | | | 40 | 324k | if new_position <= self.input_len { | 41 | 324k | self.position = new_position; | 42 | 324k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 101 | expected_len: (self.inner.offset() + len)?, | 46 | 98 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 98 | .at(self.inner.offset())) | 49 | | } | 50 | 324k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::advance_position |
51 | | } |
52 | | |
53 | | impl<'i, 'r, R: Reader<'r>> Reader<'r> for NestedReader<'i, R> { |
54 | 312k | fn input_len(&self) -> Length { |
55 | 312k | self.input_len |
56 | 312k | } <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 | 62.6k | fn input_len(&self) -> Length { | 55 | 62.6k | self.input_len | 56 | 62.6k | } |
<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 | 109k | fn input_len(&self) -> Length { | 55 | 109k | self.input_len | 56 | 109k | } |
<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 | 77.6k | fn input_len(&self) -> Length { | 55 | 77.6k | self.input_len | 56 | 77.6k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::input_len Line | Count | Source | 54 | 35.3k | fn input_len(&self) -> Length { | 55 | 35.3k | self.input_len | 56 | 35.3k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::input_len Line | Count | Source | 54 | 27.2k | fn input_len(&self) -> Length { | 55 | 27.2k | self.input_len | 56 | 27.2k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::input_len |
57 | | |
58 | 101k | fn peek_byte(&self) -> Option<u8> { |
59 | 101k | if self.is_finished() { |
60 | 30.6k | None |
61 | | } else { |
62 | 71.0k | self.inner.peek_byte() |
63 | | } |
64 | 101k | } <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 | 36.3k | fn peek_byte(&self) -> Option<u8> { | 59 | 36.3k | if self.is_finished() { | 60 | 28.2k | None | 61 | | } else { | 62 | 8.08k | self.inner.peek_byte() | 63 | | } | 64 | 36.3k | } |
<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 | 9.31k | fn peek_byte(&self) -> Option<u8> { | 59 | 9.31k | if self.is_finished() { | 60 | 309 | None | 61 | | } else { | 62 | 9.01k | self.inner.peek_byte() | 63 | | } | 64 | 9.31k | } |
<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 | 14.8k | fn peek_byte(&self) -> Option<u8> { | 59 | 14.8k | if self.is_finished() { | 60 | 949 | None | 61 | | } else { | 62 | 13.9k | self.inner.peek_byte() | 63 | | } | 64 | 14.8k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::peek_byte Line | Count | Source | 58 | 21.1k | fn peek_byte(&self) -> Option<u8> { | 59 | 21.1k | if self.is_finished() { | 60 | 1.09k | None | 61 | | } else { | 62 | 20.0k | self.inner.peek_byte() | 63 | | } | 64 | 21.1k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::peek_byte Line | Count | Source | 58 | 20.0k | fn peek_byte(&self) -> Option<u8> { | 59 | 20.0k | if self.is_finished() { | 60 | 0 | None | 61 | | } else { | 62 | 20.0k | self.inner.peek_byte() | 63 | | } | 64 | 20.0k | } |
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 | } |
74 | | |
75 | 321k | fn position(&self) -> Length { |
76 | 321k | self.position |
77 | 321k | } <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 | 62.9k | fn position(&self) -> Length { | 76 | 62.9k | self.position | 77 | 62.9k | } |
<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 | 110k | fn position(&self) -> Length { | 76 | 110k | self.position | 77 | 110k | } |
<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 | 78.6k | fn position(&self) -> Length { | 76 | 78.6k | self.position | 77 | 78.6k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::position Line | Count | Source | 75 | 40.4k | fn position(&self) -> Length { | 76 | 40.4k | self.position | 77 | 40.4k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::position Line | Count | Source | 75 | 29.4k | fn position(&self) -> Length { | 76 | 29.4k | self.position | 77 | 29.4k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::position |
78 | | |
79 | 84.6k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { |
80 | 84.6k | self.advance_position(len)?; |
81 | 84.3k | self.inner.read_slice(len) |
82 | 84.6k | } <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 | 12.0k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 12.0k | self.advance_position(len)?; | 81 | 11.9k | self.inner.read_slice(len) | 82 | 12.0k | } |
<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 | 12.9k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 12.9k | self.advance_position(len)?; | 81 | 12.8k | self.inner.read_slice(len) | 82 | 12.9k | } |
<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 | 18.0k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 18.0k | self.advance_position(len)?; | 81 | 17.9k | self.inner.read_slice(len) | 82 | 18.0k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_slice Line | Count | Source | 79 | 20.5k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 20.5k | self.advance_position(len)?; | 81 | 20.5k | self.inner.read_slice(len) | 82 | 20.5k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_slice Line | Count | Source | 79 | 21.0k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 21.0k | self.advance_position(len)?; | 81 | 21.0k | self.inner.read_slice(len) | 82 | 21.0k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_slice |
83 | | |
84 | 165 | fn error(&mut self, kind: ErrorKind) -> Error { |
85 | 165 | self.inner.error(kind) |
86 | 165 | } <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 | 33 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 33 | self.inner.error(kind) | 86 | 33 | } |
<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 | 33 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 33 | self.inner.error(kind) | 86 | 33 | } |
<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 | 33 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 33 | self.inner.error(kind) | 86 | 33 | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::error Line | Count | Source | 84 | 33 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 33 | self.inner.error(kind) | 86 | 33 | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::error Line | Count | Source | 84 | 33 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 33 | self.inner.error(kind) | 86 | 33 | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::error |
87 | | |
88 | 4.13k | fn offset(&self) -> Length { |
89 | 4.13k | self.inner.offset() |
90 | 4.13k | } <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 | 344 | fn offset(&self) -> Length { | 89 | 344 | self.inner.offset() | 90 | 344 | } |
<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 | 821 | fn offset(&self) -> Length { | 89 | 821 | self.inner.offset() | 90 | 821 | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::offset Line | Count | Source | 88 | 1.33k | fn offset(&self) -> Length { | 89 | 1.33k | self.inner.offset() | 90 | 1.33k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::offset Line | Count | Source | 88 | 1.63k | fn offset(&self) -> Length { | 89 | 1.63k | self.inner.offset() | 90 | 1.63k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::offset |
91 | | |
92 | 1.11M | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { |
93 | 1.11M | self.advance_position(Length::try_from(out.len())?)?; |
94 | 1.11M | self.inner.read_into(out) |
95 | 1.11M | } <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 | 108k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 108k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 108k | self.inner.read_into(out) | 95 | 108k | } |
<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 | 168k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 168k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 168k | self.inner.read_into(out) | 95 | 168k | } |
<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 | 250k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 250k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 250k | self.inner.read_into(out) | 95 | 250k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_into Line | Count | Source | 92 | 284k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 284k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 284k | self.inner.read_into(out) | 95 | 284k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_into Line | Count | Source | 92 | 303k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 303k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 303k | self.inner.read_into(out) | 95 | 303k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_into |
96 | | } |