Coverage Report

Created: 2026-01-13 06:58

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.rs
Line
Count
Source
1
//! Reader trait.
2
3
pub(crate) mod nested;
4
#[cfg(feature = "pem")]
5
pub(crate) mod pem;
6
pub(crate) mod slice;
7
8
pub(crate) use nested::NestedReader;
9
10
use crate::{
11
    asn1::ContextSpecific, Decode, DecodeValue, Encode, Error, ErrorKind, FixedTag, Header, Length,
12
    Result, Tag, TagMode, TagNumber,
13
};
14
15
#[cfg(feature = "alloc")]
16
use alloc::vec::Vec;
17
18
/// Reader trait which reads DER-encoded input.
19
pub trait Reader<'r>: Sized {
20
    /// Get the length of the input.
21
    fn input_len(&self) -> Length;
22
23
    /// Peek at the next byte of input without modifying the cursor.
24
    fn peek_byte(&self) -> Option<u8>;
25
26
    /// Peek forward in the input data, attempting to decode a [`Header`] from
27
    /// the data at the current position in the decoder.
28
    ///
29
    /// Does not modify the decoder's state.
30
    fn peek_header(&self) -> Result<Header>;
31
32
    /// Get the position within the buffer.
33
    fn position(&self) -> Length;
34
35
    /// Attempt to read data borrowed directly from the input as a slice,
36
    /// updating the internal cursor position.
37
    ///
38
    /// # Returns
39
    /// - `Ok(slice)` on success
40
    /// - `Err(ErrorKind::Incomplete)` if there is not enough data
41
    /// - `Err(ErrorKind::Reader)` if the reader can't borrow from the input
42
    fn read_slice(&mut self, len: Length) -> Result<&'r [u8]>;
43
44
    /// Attempt to decode an ASN.1 `CONTEXT-SPECIFIC` field with the
45
    /// provided [`TagNumber`].
46
2.97k
    fn context_specific<T>(&mut self, tag_number: TagNumber, tag_mode: TagMode) -> Result<Option<T>>
47
2.97k
    where
48
2.97k
        T: DecodeValue<'r> + FixedTag,
49
    {
50
2.97k
        Ok(match tag_mode {
51
2.97k
            TagMode::Explicit => ContextSpecific::<T>::decode_explicit(self, tag_number)?,
52
0
            TagMode::Implicit => ContextSpecific::<T>::decode_implicit(self, tag_number)?,
53
        }
54
2.45k
        .map(|field| field.value))
55
2.97k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::context_specific::<alloc::vec::Vec<crypto::x509::Extension>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::context_specific::<der::asn1::bit_string::BitStringRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::context_specific::<der::asn1::integer::uint::UintRef>
Unexecuted instantiation: <_ as der::reader::Reader>::context_specific::<_>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::context_specific::<alloc::vec::Vec<crypto::x509::Extension>>
Line
Count
Source
46
212
    fn context_specific<T>(&mut self, tag_number: TagNumber, tag_mode: TagMode) -> Result<Option<T>>
47
212
    where
48
212
        T: DecodeValue<'r> + FixedTag,
49
    {
50
212
        Ok(match tag_mode {
51
212
            TagMode::Explicit => ContextSpecific::<T>::decode_explicit(self, tag_number)?,
52
0
            TagMode::Implicit => ContextSpecific::<T>::decode_implicit(self, tag_number)?,
53
        }
54
13
        .map(|field| field.value))
55
212
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::context_specific::<der::asn1::bit_string::BitStringRef>
Line
Count
Source
46
67
    fn context_specific<T>(&mut self, tag_number: TagNumber, tag_mode: TagMode) -> Result<Option<T>>
47
67
    where
48
67
        T: DecodeValue<'r> + FixedTag,
49
    {
50
67
        Ok(match tag_mode {
51
67
            TagMode::Explicit => ContextSpecific::<T>::decode_explicit(self, tag_number)?,
52
0
            TagMode::Implicit => ContextSpecific::<T>::decode_implicit(self, tag_number)?,
53
        }
54
20
        .map(|field| field.value))
55
67
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::context_specific::<der::asn1::integer::uint::UintRef>
Line
Count
Source
46
2.69k
    fn context_specific<T>(&mut self, tag_number: TagNumber, tag_mode: TagMode) -> Result<Option<T>>
47
2.69k
    where
48
2.69k
        T: DecodeValue<'r> + FixedTag,
49
    {
50
2.69k
        Ok(match tag_mode {
51
2.69k
            TagMode::Explicit => ContextSpecific::<T>::decode_explicit(self, tag_number)?,
52
0
            TagMode::Implicit => ContextSpecific::<T>::decode_implicit(self, tag_number)?,
53
        }
54
2.42k
        .map(|field| field.value))
55
2.69k
    }
Unexecuted instantiation: <_ as der::reader::Reader>::context_specific::<_>
56
57
    /// Decode a value which impls the [`Decode`] trait.
58
272k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
272k
        T::decode(self).map_err(|e| e.nested(self.position()))
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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>::{closure#0}
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>::decode::<core::option::Option<bool>>::{closure#0}
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>::decode::<const_oid::ObjectIdentifier>::{closure#0}
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>::decode::<der::asn1::any::AnyRef>::{closure#0}
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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>::{closure#0}
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>::decode::<core::option::Option<der::asn1::any::AnyRef>>::{closure#0}
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>::decode::<core::option::Option<bool>>::{closure#0}
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>::decode::<const_oid::ObjectIdentifier>::{closure#0}
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>::decode::<der::asn1::any::AnyRef>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::Time>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<1>>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<2>>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<alloc::vec::Vec<crypto::crl::RevokedCertificate>>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::crl::Extensions>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Extensions>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Time>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::SubjectPublicKeyInfo>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Time>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Version>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Validity>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::integer::uint::UintRef>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::crl::TbsCertList>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::TBSCertificate>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>::{closure#0}
Unexecuted instantiation: <_ as der::reader::Reader>::decode::<_>::{closure#0}
<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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>::{closure#0}
Line
Count
Source
59
12
        T::decode(self).map_err(|e| e.nested(self.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>::decode::<core::option::Option<bool>>::{closure#0}
Line
Count
Source
59
41
        T::decode(self).map_err(|e| e.nested(self.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>::decode::<const_oid::ObjectIdentifier>::{closure#0}
Line
Count
Source
59
155
        T::decode(self).map_err(|e| e.nested(self.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>::decode::<der::asn1::any::AnyRef>::{closure#0}
Line
Count
Source
59
58
        T::decode(self).map_err(|e| e.nested(self.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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>::{closure#0}
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>::{closure#0}
Line
Count
Source
59
36
        T::decode(self).map_err(|e| e.nested(self.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>::decode::<core::option::Option<bool>>::{closure#0}
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>::{closure#0}
Line
Count
Source
59
17
        T::decode(self).map_err(|e| e.nested(self.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>::decode::<der::asn1::any::AnyRef>::{closure#0}
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>::{closure#0}
Line
Count
Source
59
37
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>::{closure#0}
Line
Count
Source
59
91
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>::{closure#0}
Line
Count
Source
59
80
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::Time>::{closure#0}
Line
Count
Source
59
524
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>::{closure#0}
Line
Count
Source
59
73
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<1>>>::{closure#0}
Line
Count
Source
59
35
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<2>>>::{closure#0}
Line
Count
Source
59
17
        T::decode(self).map_err(|e| e.nested(self.position()))
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<alloc::vec::Vec<crypto::crl::RevokedCertificate>>>::{closure#0}
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::crl::Extensions>>::{closure#0}
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Extensions>>::{closure#0}
Line
Count
Source
59
200
        T::decode(self).map_err(|e| e.nested(self.position()))
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Time>>::{closure#0}
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>::{closure#0}
Line
Count
Source
59
8
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>>::{closure#0}
Line
Count
Source
59
598
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>::{closure#0}
Line
Count
Source
59
50
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>::{closure#0}
Line
Count
Source
59
207
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::SubjectPublicKeyInfo>::{closure#0}
Line
Count
Source
59
213
        T::decode(self).map_err(|e| e.nested(self.position()))
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Time>::{closure#0}
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Version>::{closure#0}
Line
Count
Source
59
302
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Validity>::{closure#0}
Line
Count
Source
59
664
        T::decode(self).map_err(|e| e.nested(self.position()))
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>::{closure#0}
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::integer::uint::UintRef>::{closure#0}
Line
Count
Source
59
81
        T::decode(self).map_err(|e| e.nested(self.position()))
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::crl::TbsCertList>::{closure#0}
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::TBSCertificate>::{closure#0}
Line
Count
Source
59
2.52k
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>::{closure#0}
Line
Count
Source
59
137
        T::decode(self).map_err(|e| e.nested(self.position()))
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>::{closure#0}
Line
Count
Source
59
110
        T::decode(self).map_err(|e| e.nested(self.position()))
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>::{closure#0}
Unexecuted instantiation: <_ as der::reader::Reader>::decode::<_>::{closure#0}
60
272k
    }
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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>
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>::decode::<core::option::Option<bool>>
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>::decode::<const_oid::ObjectIdentifier>
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>::decode::<der::asn1::any::AnyRef>
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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>
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>::decode::<core::option::Option<der::asn1::any::AnyRef>>
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>::decode::<core::option::Option<bool>>
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>::decode::<const_oid::ObjectIdentifier>
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>::decode::<der::asn1::any::AnyRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::Time>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<1>>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<2>>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<alloc::vec::Vec<crypto::crl::RevokedCertificate>>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::crl::Extensions>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Extensions>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Time>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::SubjectPublicKeyInfo>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Time>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Version>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Validity>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::integer::uint::UintRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::crl::TbsCertList>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::TBSCertificate>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>
Unexecuted instantiation: <_ as der::reader::Reader>::decode::<_>
<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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>
Line
Count
Source
58
71.5k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
71.5k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
71.5k
    }
<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>::decode::<core::option::Option<bool>>
Line
Count
Source
58
71.6k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
71.6k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
71.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>::decode::<const_oid::ObjectIdentifier>
Line
Count
Source
58
86.4k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
86.4k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
86.4k
    }
<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>::decode::<der::asn1::any::AnyRef>
Line
Count
Source
58
14.7k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
14.7k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
14.7k
    }
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>::decode::<core::option::Option<der::asn1::octet_string::OctetStringRef>>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>
Line
Count
Source
58
776
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
776
        T::decode(self).map_err(|e| e.nested(self.position()))
60
776
    }
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>::decode::<core::option::Option<bool>>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>
Line
Count
Source
58
793
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
793
        T::decode(self).map_err(|e| e.nested(self.position()))
60
793
    }
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>::decode::<der::asn1::any::AnyRef>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>
Line
Count
Source
58
2.15k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
2.15k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
2.15k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>
Line
Count
Source
58
2.24k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
2.24k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
2.24k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>
Line
Count
Source
58
812
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
812
        T::decode(self).map_err(|e| e.nested(self.position()))
60
812
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<crypto::x509::Time>
Line
Count
Source
58
2.50k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
2.50k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
2.50k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>
Line
Count
Source
58
732
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
732
        T::decode(self).map_err(|e| e.nested(self.position()))
60
732
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<1>>>
Line
Count
Source
58
632
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
632
        T::decode(self).map_err(|e| e.nested(self.position()))
60
632
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::UniqueIdentifier<2>>>
Line
Count
Source
58
597
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
597
        T::decode(self).map_err(|e| e.nested(self.position()))
60
597
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<alloc::vec::Vec<crypto::crl::RevokedCertificate>>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::crl::Extensions>>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Extensions>>
Line
Count
Source
58
580
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
580
        T::decode(self).map_err(|e| e.nested(self.position()))
60
580
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<crypto::x509::Time>>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<core::option::Option<der::asn1::any::AnyRef>>
Line
Count
Source
58
202
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
202
        T::decode(self).map_err(|e| e.nested(self.position()))
60
202
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>>
Line
Count
Source
58
3.00k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
3.00k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
3.00k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<const_oid::ObjectIdentifier>
Line
Count
Source
58
252
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
252
        T::decode(self).map_err(|e| e.nested(self.position()))
60
252
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>
Line
Count
Source
58
2.31k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
2.31k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
2.31k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::SubjectPublicKeyInfo>
Line
Count
Source
58
845
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
845
        T::decode(self).map_err(|e| e.nested(self.position()))
60
845
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Time>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Version>
Line
Count
Source
58
2.69k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
2.69k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
2.69k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<crypto::x509::Validity>
Line
Count
Source
58
1.55k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
1.55k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
1.55k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::decode::<der::asn1::integer::uint::UintRef>
Line
Count
Source
58
2.39k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
2.39k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
2.39k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::crl::TbsCertList>
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::TBSCertificate>
Line
Count
Source
58
2.83k
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
2.83k
        T::decode(self).map_err(|e| e.nested(self.position()))
60
2.83k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<crypto::x509::AlgorithmIdentifier>
Line
Count
Source
58
311
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
311
        T::decode(self).map_err(|e| e.nested(self.position()))
60
311
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::bit_string::BitStringRef>
Line
Count
Source
58
174
    fn decode<T: Decode<'r>>(&mut self) -> Result<T> {
59
174
        T::decode(self).map_err(|e| e.nested(self.position()))
60
174
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::decode::<der::asn1::any::AnyRef>
Unexecuted instantiation: <_ as der::reader::Reader>::decode::<_>
61
62
    /// Return an error with the given [`ErrorKind`], annotating it with
63
    /// context about where the error occurred.
64
0
    fn error(&mut self, kind: ErrorKind) -> Error {
65
0
        kind.at(self.position())
66
0
    }
Unexecuted instantiation: <_ as der::reader::Reader>::error
Unexecuted instantiation: <_ as der::reader::Reader>::error
67
68
    /// Finish decoding, returning the given value if there is no
69
    /// remaining data, or an error otherwise
70
151k
    fn finish<T>(self, value: T) -> Result<T> {
71
151k
        if !self.is_finished() {
72
263
            Err(ErrorKind::TrailingData {
73
263
                decoded: self.position(),
74
263
                remaining: self.remaining_len(),
75
263
            }
76
263
            .at(self.position()))
77
        } else {
78
151k
            Ok(value)
79
        }
80
151k
    }
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>::finish::<crypto::x509::DistinguishedName>
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>::finish::<crypto::x509::Extension>
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>::finish::<alloc::vec::Vec<crypto::x509::Extension>>
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>::finish::<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>
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>::finish::<crypto::crl::RevokedCertificate>
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>::finish::<crypto::x509::AlgorithmIdentifier>
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>::finish::<crypto::x509::Extension>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<alloc::vec::Vec<crypto::crl::RevokedCertificate>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<alloc::vec::Vec<crypto::x509::Extension>>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<crypto::x509::AlgorithmIdentifier>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<crypto::x509::SubjectPublicKeyInfo>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<crypto::x509::Validity>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<der::asn1::bit_string::BitStringRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<der::asn1::integer::uint::UintRef>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::finish::<crypto::crl::TbsCertList>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::finish::<crypto::x509::TBSCertificate>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::finish::<crypto::x509::AlgorithmIdentifier>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::finish::<crypto::crl::Crl>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::finish::<crypto::x509::Certificate>
Unexecuted instantiation: <_ as der::reader::Reader>::finish::<_>
<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>::finish::<crypto::x509::DistinguishedName>
Line
Count
Source
70
14.6k
    fn finish<T>(self, value: T) -> Result<T> {
71
14.6k
        if !self.is_finished() {
72
9
            Err(ErrorKind::TrailingData {
73
9
                decoded: self.position(),
74
9
                remaining: self.remaining_len(),
75
9
            }
76
9
            .at(self.position()))
77
        } else {
78
14.6k
            Ok(value)
79
        }
80
14.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>::finish::<crypto::x509::Extension>
Line
Count
Source
70
71.5k
    fn finish<T>(self, value: T) -> Result<T> {
71
71.5k
        if !self.is_finished() {
72
19
            Err(ErrorKind::TrailingData {
73
19
                decoded: self.position(),
74
19
                remaining: self.remaining_len(),
75
19
            }
76
19
            .at(self.position()))
77
        } else {
78
71.5k
            Ok(value)
79
        }
80
71.5k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::finish::<alloc::vec::Vec<crypto::x509::Extension>>
Line
Count
Source
70
51
    fn finish<T>(self, value: T) -> Result<T> {
71
51
        if !self.is_finished() {
72
0
            Err(ErrorKind::TrailingData {
73
0
                decoded: self.position(),
74
0
                remaining: self.remaining_len(),
75
0
            }
76
0
            .at(self.position()))
77
        } else {
78
51
            Ok(value)
79
        }
80
51
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::finish::<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>
Line
Count
Source
70
55.4k
    fn finish<T>(self, value: T) -> Result<T> {
71
55.4k
        if !self.is_finished() {
72
0
            Err(ErrorKind::TrailingData {
73
0
                decoded: self.position(),
74
0
                remaining: self.remaining_len(),
75
0
            }
76
0
            .at(self.position()))
77
        } else {
78
55.4k
            Ok(value)
79
        }
80
55.4k
    }
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>::finish::<crypto::crl::RevokedCertificate>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::finish::<crypto::x509::AlgorithmIdentifier>
Line
Count
Source
70
740
    fn finish<T>(self, value: T) -> Result<T> {
71
740
        if !self.is_finished() {
72
8
            Err(ErrorKind::TrailingData {
73
8
                decoded: self.position(),
74
8
                remaining: self.remaining_len(),
75
8
            }
76
8
            .at(self.position()))
77
        } else {
78
732
            Ok(value)
79
        }
80
740
    }
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>::finish::<crypto::x509::Extension>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>>
Line
Count
Source
70
2.40k
    fn finish<T>(self, value: T) -> Result<T> {
71
2.40k
        if !self.is_finished() {
72
0
            Err(ErrorKind::TrailingData {
73
0
                decoded: self.position(),
74
0
                remaining: self.remaining_len(),
75
0
            }
76
0
            .at(self.position()))
77
        } else {
78
2.40k
            Ok(value)
79
        }
80
2.40k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<alloc::vec::Vec<crypto::crl::RevokedCertificate>>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<alloc::vec::Vec<crypto::x509::Extension>>
Line
Count
Source
70
51
    fn finish<T>(self, value: T) -> Result<T> {
71
51
        if !self.is_finished() {
72
38
            Err(ErrorKind::TrailingData {
73
38
                decoded: self.position(),
74
38
                remaining: self.remaining_len(),
75
38
            }
76
38
            .at(self.position()))
77
        } else {
78
13
            Ok(value)
79
        }
80
51
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<crypto::x509::AlgorithmIdentifier>
Line
Count
Source
70
2.12k
    fn finish<T>(self, value: T) -> Result<T> {
71
2.12k
        if !self.is_finished() {
72
14
            Err(ErrorKind::TrailingData {
73
14
                decoded: self.position(),
74
14
                remaining: self.remaining_len(),
75
14
            }
76
14
            .at(self.position()))
77
        } else {
78
2.10k
            Ok(value)
79
        }
80
2.12k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<crypto::x509::SubjectPublicKeyInfo>
Line
Count
Source
70
659
    fn finish<T>(self, value: T) -> Result<T> {
71
659
        if !self.is_finished() {
72
27
            Err(ErrorKind::TrailingData {
73
27
                decoded: self.position(),
74
27
                remaining: self.remaining_len(),
75
27
            }
76
27
            .at(self.position()))
77
        } else {
78
632
            Ok(value)
79
        }
80
659
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<crypto::x509::Validity>
Line
Count
Source
70
904
    fn finish<T>(self, value: T) -> Result<T> {
71
904
        if !self.is_finished() {
72
10
            Err(ErrorKind::TrailingData {
73
10
                decoded: self.position(),
74
10
                remaining: self.remaining_len(),
75
10
            }
76
10
            .at(self.position()))
77
        } else {
78
894
            Ok(value)
79
        }
80
904
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<der::asn1::bit_string::BitStringRef>
Line
Count
Source
70
35
    fn finish<T>(self, value: T) -> Result<T> {
71
35
        if !self.is_finished() {
72
15
            Err(ErrorKind::TrailingData {
73
15
                decoded: self.position(),
74
15
                remaining: self.remaining_len(),
75
15
            }
76
15
            .at(self.position()))
77
        } else {
78
20
            Ok(value)
79
        }
80
35
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::finish::<der::asn1::integer::uint::UintRef>
Line
Count
Source
70
2.39k
    fn finish<T>(self, value: T) -> Result<T> {
71
2.39k
        if !self.is_finished() {
72
1
            Err(ErrorKind::TrailingData {
73
1
                decoded: self.position(),
74
1
                remaining: self.remaining_len(),
75
1
            }
76
1
            .at(self.position()))
77
        } else {
78
2.39k
            Ok(value)
79
        }
80
2.39k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::finish::<crypto::crl::TbsCertList>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::finish::<crypto::x509::TBSCertificate>
Line
Count
Source
70
380
    fn finish<T>(self, value: T) -> Result<T> {
71
380
        if !self.is_finished() {
72
69
            Err(ErrorKind::TrailingData {
73
69
                decoded: self.position(),
74
69
                remaining: self.remaining_len(),
75
69
            }
76
69
            .at(self.position()))
77
        } else {
78
311
            Ok(value)
79
        }
80
380
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::finish::<crypto::x509::AlgorithmIdentifier>
Line
Count
Source
70
194
    fn finish<T>(self, value: T) -> Result<T> {
71
194
        if !self.is_finished() {
72
20
            Err(ErrorKind::TrailingData {
73
20
                decoded: self.position(),
74
20
                remaining: self.remaining_len(),
75
20
            }
76
20
            .at(self.position()))
77
        } else {
78
174
            Ok(value)
79
        }
80
194
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::finish::<crypto::crl::Crl>
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::finish::<crypto::x509::Certificate>
Line
Count
Source
70
64
    fn finish<T>(self, value: T) -> Result<T> {
71
64
        if !self.is_finished() {
72
33
            Err(ErrorKind::TrailingData {
73
33
                decoded: self.position(),
74
33
                remaining: self.remaining_len(),
75
33
            }
76
33
            .at(self.position()))
77
        } else {
78
31
            Ok(value)
79
        }
80
64
    }
Unexecuted instantiation: <_ as der::reader::Reader>::finish::<_>
81
82
    /// Have we read all of the input data?
83
793k
    fn is_finished(&self) -> bool {
84
793k
        self.remaining_len().is_zero()
85
793k
    }
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>::is_finished
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>::is_finished
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::is_finished
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::is_finished
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::is_finished
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::is_finished
<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>::is_finished
Line
Count
Source
83
229k
    fn is_finished(&self) -> bool {
84
229k
        self.remaining_len().is_zero()
85
229k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::is_finished
Line
Count
Source
83
268k
    fn is_finished(&self) -> bool {
84
268k
        self.remaining_len().is_zero()
85
268k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::is_finished
Line
Count
Source
83
141k
    fn is_finished(&self) -> bool {
84
141k
        self.remaining_len().is_zero()
85
141k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::is_finished
Line
Count
Source
83
78.1k
    fn is_finished(&self) -> bool {
84
78.1k
        self.remaining_len().is_zero()
85
78.1k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::is_finished
Line
Count
Source
83
76.5k
    fn is_finished(&self) -> bool {
84
76.5k
        self.remaining_len().is_zero()
85
76.5k
    }
<der::reader::slice::SliceReader as der::reader::Reader>::is_finished
Line
Count
Source
83
31
    fn is_finished(&self) -> bool {
84
31
        self.remaining_len().is_zero()
85
31
    }
86
87
    /// Offset within the original input stream.
88
    ///
89
    /// This is used for error reporting, and doesn't need to be overridden
90
    /// by any reader implementations (except for the built-in `NestedReader`,
91
    /// which consumes nested input messages)
92
3.68k
    fn offset(&self) -> Length {
93
3.68k
        self.position()
94
3.68k
    }
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::offset
Unexecuted instantiation: <_ as der::reader::Reader>::offset
<der::reader::slice::SliceReader as der::reader::Reader>::offset
Line
Count
Source
92
3.68k
    fn offset(&self) -> Length {
93
3.68k
        self.position()
94
3.68k
    }
Unexecuted instantiation: <_ as der::reader::Reader>::offset
95
96
    /// Peek at the next byte in the decoder and attempt to decode it as a
97
    /// [`Tag`] value.
98
    ///
99
    /// Does not modify the decoder's state.
100
2.50k
    fn peek_tag(&self) -> Result<Tag> {
101
2.50k
        match self.peek_byte() {
102
2.35k
            Some(byte) => byte.try_into(),
103
144
            None => Err(Error::incomplete(self.input_len())),
104
        }
105
2.50k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::peek_tag
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::peek_tag
Unexecuted instantiation: <_ as der::reader::Reader>::peek_tag
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::peek_tag
Line
Count
Source
100
2.50k
    fn peek_tag(&self) -> Result<Tag> {
101
2.50k
        match self.peek_byte() {
102
2.35k
            Some(byte) => byte.try_into(),
103
144
            None => Err(Error::incomplete(self.input_len())),
104
        }
105
2.50k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::peek_tag
Unexecuted instantiation: <_ as der::reader::Reader>::peek_tag
106
107
    /// Read a single byte.
108
724k
    fn read_byte(&mut self) -> Result<u8> {
109
724k
        let mut buf = [0];
110
724k
        self.read_into(&mut buf)?;
111
724k
        Ok(buf[0])
112
724k
    }
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_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>::read_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_byte
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_byte
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::read_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>::read_byte
Line
Count
Source
108
371k
    fn read_byte(&mut self) -> Result<u8> {
109
371k
        let mut buf = [0];
110
371k
        self.read_into(&mut buf)?;
111
371k
        Ok(buf[0])
112
371k
    }
<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_byte
Line
Count
Source
108
176k
    fn read_byte(&mut self) -> Result<u8> {
109
176k
        let mut buf = [0];
110
176k
        self.read_into(&mut buf)?;
111
176k
        Ok(buf[0])
112
176k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_byte
Line
Count
Source
108
133k
    fn read_byte(&mut self) -> Result<u8> {
109
133k
        let mut buf = [0];
110
133k
        self.read_into(&mut buf)?;
111
132k
        Ok(buf[0])
112
133k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_byte
Line
Count
Source
108
28.1k
    fn read_byte(&mut self) -> Result<u8> {
109
28.1k
        let mut buf = [0];
110
28.1k
        self.read_into(&mut buf)?;
111
27.8k
        Ok(buf[0])
112
28.1k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_byte
Line
Count
Source
108
8.28k
    fn read_byte(&mut self) -> Result<u8> {
109
8.28k
        let mut buf = [0];
110
8.28k
        self.read_into(&mut buf)?;
111
8.18k
        Ok(buf[0])
112
8.28k
    }
<der::reader::slice::SliceReader as der::reader::Reader>::read_byte
Line
Count
Source
108
7.49k
    fn read_byte(&mut self) -> Result<u8> {
109
7.49k
        let mut buf = [0];
110
7.49k
        self.read_into(&mut buf)?;
111
7.45k
        Ok(buf[0])
112
7.49k
    }
113
114
    /// Attempt to read input data, writing it into the provided buffer, and
115
    /// returning a slice on success.
116
    ///
117
    /// # Returns
118
    /// - `Ok(slice)` if there is sufficient data
119
    /// - `Err(ErrorKind::Incomplete)` if there is not enough data
120
816k
    fn read_into<'o>(&mut self, buf: &'o mut [u8]) -> Result<&'o [u8]> {
121
816k
        let input = self.read_slice(buf.len().try_into()?)?;
122
816k
        buf.copy_from_slice(input);
123
816k
        Ok(buf)
124
816k
    }
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::read_into
<der::reader::slice::SliceReader as der::reader::Reader>::read_into
Line
Count
Source
120
816k
    fn read_into<'o>(&mut self, buf: &'o mut [u8]) -> Result<&'o [u8]> {
121
816k
        let input = self.read_slice(buf.len().try_into()?)?;
122
816k
        buf.copy_from_slice(input);
123
816k
        Ok(buf)
124
816k
    }
125
126
    /// Read nested data of the given length.
127
159k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
159k
    where
129
159k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
159k
        let mut reader = NestedReader::new(self, len)?;
132
159k
        let ret = f(&mut reader)?;
133
151k
        reader.finish(ret)
134
159k
    }
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_nested::<crypto::x509::DistinguishedName, <crypto::x509::DistinguishedName as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::{closure#0}>
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_nested::<crypto::x509::Extension, <crypto::x509::Extension as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::x509::Extension>, <alloc::vec::Vec<crypto::x509::Extension> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>, <der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<crypto::crl::RevokedCertificate, <crypto::crl::RevokedCertificate as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<crypto::x509::AlgorithmIdentifier, <crypto::x509::AlgorithmIdentifier as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<crypto::x509::Extension, <crypto::x509::Extension as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>, <alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::crl::RevokedCertificate>, <alloc::vec::Vec<crypto::crl::RevokedCertificate> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::x509::Extension>, <der::asn1::context_specific::ContextSpecific<alloc::vec::Vec<crypto::x509::Extension>> as der::decode::Decode>::decode<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::x509::Extension>, <alloc::vec::Vec<crypto::x509::Extension> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<crypto::x509::AlgorithmIdentifier, <crypto::x509::AlgorithmIdentifier as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<crypto::x509::SubjectPublicKeyInfo, <crypto::x509::SubjectPublicKeyInfo as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<crypto::x509::Validity, <crypto::x509::Validity as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<der::asn1::bit_string::BitStringRef, <der::asn1::context_specific::ContextSpecific<der::asn1::bit_string::BitStringRef> as der::decode::Decode>::decode<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<der::asn1::integer::uint::UintRef, <der::asn1::context_specific::ContextSpecific<der::asn1::integer::uint::UintRef> as der::decode::Decode>::decode<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_nested::<crypto::crl::TbsCertList, <crypto::crl::TbsCertList as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_nested::<crypto::x509::TBSCertificate, <crypto::x509::TBSCertificate as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::{closure#0}>
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_nested::<crypto::x509::AlgorithmIdentifier, <crypto::x509::AlgorithmIdentifier as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::{closure#0}>
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::read_nested::<crypto::crl::Crl, <crypto::crl::Crl as der::decode::DecodeValue>::decode_value<der::reader::slice::SliceReader>::{closure#0}>
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::read_nested::<crypto::x509::Certificate, <crypto::x509::Certificate as der::decode::DecodeValue>::decode_value<der::reader::slice::SliceReader>::{closure#0}>
Unexecuted instantiation: <_ as der::reader::Reader>::read_nested::<_, _>
<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_nested::<crypto::x509::DistinguishedName, <crypto::x509::DistinguishedName as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::{closure#0}>
Line
Count
Source
127
14.9k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
14.9k
    where
129
14.9k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
14.9k
        let mut reader = NestedReader::new(self, len)?;
132
14.8k
        let ret = f(&mut reader)?;
133
14.6k
        reader.finish(ret)
134
14.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>::read_nested::<crypto::x509::Extension, <crypto::x509::Extension as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::{closure#0}>
Line
Count
Source
127
71.6k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
71.6k
    where
129
71.6k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
71.6k
        let mut reader = NestedReader::new(self, len)?;
132
71.6k
        let ret = f(&mut reader)?;
133
71.5k
        reader.finish(ret)
134
71.6k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::x509::Extension>, <alloc::vec::Vec<crypto::x509::Extension> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Line
Count
Source
127
185
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
185
    where
129
185
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
185
        let mut reader = NestedReader::new(self, len)?;
132
182
        let ret = f(&mut reader)?;
133
51
        reader.finish(ret)
134
185
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>, <der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Line
Count
Source
127
55.8k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
55.8k
    where
129
55.8k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
55.8k
        let mut reader = NestedReader::new(self, len)?;
132
55.8k
        let ret = f(&mut reader)?;
133
55.4k
        reader.finish(ret)
134
55.8k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<crypto::crl::RevokedCertificate, <crypto::crl::RevokedCertificate as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<crypto::x509::AlgorithmIdentifier, <crypto::x509::AlgorithmIdentifier as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
Line
Count
Source
127
806
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
806
    where
129
806
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
806
        let mut reader = NestedReader::new(self, len)?;
132
793
        let ret = f(&mut reader)?;
133
740
        reader.finish(ret)
134
806
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_nested::<crypto::x509::Extension, <crypto::x509::Extension as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::{closure#0}>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>>, <alloc::vec::Vec<der::asn1::set_of::SetOfVec<crypto::x509::DistinguishedName>> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Line
Count
Source
127
2.89k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
2.89k
    where
129
2.89k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
2.89k
        let mut reader = NestedReader::new(self, len)?;
132
2.88k
        let ret = f(&mut reader)?;
133
2.40k
        reader.finish(ret)
134
2.89k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::crl::RevokedCertificate>, <alloc::vec::Vec<crypto::crl::RevokedCertificate> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::x509::Extension>, <der::asn1::context_specific::ContextSpecific<alloc::vec::Vec<crypto::x509::Extension>> as der::decode::Decode>::decode<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Line
Count
Source
127
206
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
206
    where
129
206
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
206
        let mut reader = NestedReader::new(self, len)?;
132
199
        let ret = f(&mut reader)?;
133
51
        reader.finish(ret)
134
206
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<alloc::vec::Vec<crypto::x509::Extension>, <alloc::vec::Vec<crypto::x509::Extension> as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<crypto::x509::AlgorithmIdentifier, <crypto::x509::AlgorithmIdentifier as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Line
Count
Source
127
2.27k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
2.27k
    where
129
2.27k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
2.27k
        let mut reader = NestedReader::new(self, len)?;
132
2.24k
        let ret = f(&mut reader)?;
133
2.12k
        reader.finish(ret)
134
2.27k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<crypto::x509::SubjectPublicKeyInfo, <crypto::x509::SubjectPublicKeyInfo as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Line
Count
Source
127
814
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
814
    where
129
814
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
814
        let mut reader = NestedReader::new(self, len)?;
132
812
        let ret = f(&mut reader)?;
133
659
        reader.finish(ret)
134
814
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<crypto::x509::Validity, <crypto::x509::Validity as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Line
Count
Source
127
1.43k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
1.43k
    where
129
1.43k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
1.43k
        let mut reader = NestedReader::new(self, len)?;
132
1.42k
        let ret = f(&mut reader)?;
133
904
        reader.finish(ret)
134
1.43k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<der::asn1::bit_string::BitStringRef, <der::asn1::context_specific::ContextSpecific<der::asn1::bit_string::BitStringRef> as der::decode::Decode>::decode<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Line
Count
Source
127
51
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
51
    where
129
51
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
51
        let mut reader = NestedReader::new(self, len)?;
132
47
        let ret = f(&mut reader)?;
133
35
        reader.finish(ret)
134
51
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_nested::<der::asn1::integer::uint::UintRef, <der::asn1::context_specific::ContextSpecific<der::asn1::integer::uint::UintRef> as der::decode::Decode>::decode<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::{closure#0}>
Line
Count
Source
127
2.61k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
2.61k
    where
129
2.61k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
2.61k
        let mut reader = NestedReader::new(self, len)?;
132
2.53k
        let ret = f(&mut reader)?;
133
2.39k
        reader.finish(ret)
134
2.61k
    }
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_nested::<crypto::crl::TbsCertList, <crypto::crl::TbsCertList as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::{closure#0}>
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_nested::<crypto::x509::TBSCertificate, <crypto::x509::TBSCertificate as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::{closure#0}>
Line
Count
Source
127
2.72k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
2.72k
    where
129
2.72k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
2.72k
        let mut reader = NestedReader::new(self, len)?;
132
2.69k
        let ret = f(&mut reader)?;
133
380
        reader.finish(ret)
134
2.72k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_nested::<crypto::x509::AlgorithmIdentifier, <crypto::x509::AlgorithmIdentifier as der::decode::DecodeValue>::decode_value<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::{closure#0}>
Line
Count
Source
127
277
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
277
    where
129
277
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
277
        let mut reader = NestedReader::new(self, len)?;
132
252
        let ret = f(&mut reader)?;
133
194
        reader.finish(ret)
134
277
    }
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::read_nested::<crypto::crl::Crl, <crypto::crl::Crl as der::decode::DecodeValue>::decode_value<der::reader::slice::SliceReader>::{closure#0}>
<der::reader::slice::SliceReader as der::reader::Reader>::read_nested::<crypto::x509::Certificate, <crypto::x509::Certificate as der::decode::DecodeValue>::decode_value<der::reader::slice::SliceReader>::{closure#0}>
Line
Count
Source
127
2.93k
    fn read_nested<'n, T, F>(&'n mut self, len: Length, f: F) -> Result<T>
128
2.93k
    where
129
2.93k
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
130
    {
131
2.93k
        let mut reader = NestedReader::new(self, len)?;
132
2.83k
        let ret = f(&mut reader)?;
133
64
        reader.finish(ret)
134
2.93k
    }
Unexecuted instantiation: <_ as der::reader::Reader>::read_nested::<_, _>
135
136
    /// Read a byte vector of the given length.
137
    #[cfg(feature = "alloc")]
138
0
    fn read_vec(&mut self, len: Length) -> Result<Vec<u8>> {
139
0
        let mut bytes = vec![0u8; usize::try_from(len)?];
140
0
        self.read_into(&mut bytes)?;
141
0
        Ok(bytes)
142
0
    }
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::read_vec
Unexecuted instantiation: <der::reader::slice::SliceReader as der::reader::Reader>::read_vec
143
144
    /// Get the number of bytes still remaining in the buffer.
145
951k
    fn remaining_len(&self) -> Length {
146
951k
        debug_assert!(self.position() <= self.input_len());
147
951k
        self.input_len().saturating_sub(self.position())
148
951k
    }
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>::remaining_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>::remaining_len
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::remaining_len
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::remaining_len
Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::remaining_len
Unexecuted instantiation: <_ as der::reader::Reader>::remaining_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>::remaining_len
Line
Count
Source
145
229k
    fn remaining_len(&self) -> Length {
146
229k
        debug_assert!(self.position() <= self.input_len());
147
229k
        self.input_len().saturating_sub(self.position())
148
229k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::remaining_len
Line
Count
Source
145
355k
    fn remaining_len(&self) -> Length {
146
355k
        debug_assert!(self.position() <= self.input_len());
147
355k
        self.input_len().saturating_sub(self.position())
148
355k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::remaining_len
Line
Count
Source
145
198k
    fn remaining_len(&self) -> Length {
146
198k
        debug_assert!(self.position() <= self.input_len());
147
198k
        self.input_len().saturating_sub(self.position())
148
198k
    }
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::remaining_len
Line
Count
Source
145
88.9k
    fn remaining_len(&self) -> Length {
146
88.9k
        debug_assert!(self.position() <= self.input_len());
147
88.9k
        self.input_len().saturating_sub(self.position())
148
88.9k
    }
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::remaining_len
Line
Count
Source
145
79.7k
    fn remaining_len(&self) -> Length {
146
79.7k
        debug_assert!(self.position() <= self.input_len());
147
79.7k
        self.input_len().saturating_sub(self.position())
148
79.7k
    }
Unexecuted instantiation: <_ as der::reader::Reader>::remaining_len
149
150
    /// Read an ASN.1 `SEQUENCE`, creating a nested [`Reader`] for the body and
151
    /// calling the provided closure with it.
152
0
    fn sequence<'n, F, T>(&'n mut self, f: F) -> Result<T>
153
0
    where
154
0
        F: FnOnce(&mut NestedReader<'n, Self>) -> Result<T>,
155
    {
156
0
        let header = Header::decode(self)?;
157
0
        header.tag.assert_eq(Tag::Sequence)?;
158
0
        self.read_nested(header.length, f)
159
0
    }
Unexecuted instantiation: <_ as der::reader::Reader>::sequence::<_, _>
Unexecuted instantiation: <_ as der::reader::Reader>::sequence::<_, _>
160
161
    /// Obtain a slice of bytes contain a complete TLV production suitable for parsing later.
162
0
    fn tlv_bytes(&mut self) -> Result<&'r [u8]> {
163
0
        let header = self.peek_header()?;
164
0
        let header_len = header.encoded_len()?;
165
0
        self.read_slice((header_len + header.length)?)
166
0
    }
Unexecuted instantiation: <_ as der::reader::Reader>::tlv_bytes
Unexecuted instantiation: <_ as der::reader::Reader>::tlv_bytes
167
}