summaryrefslogtreecommitdiffstats
path: root/vendor/der/src/decode.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/der/src/decode.rs')
-rw-r--r--vendor/der/src/decode.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/vendor/der/src/decode.rs b/vendor/der/src/decode.rs
index 0efcae69f..fe53341b3 100644
--- a/vendor/der/src/decode.rs
+++ b/vendor/der/src/decode.rs
@@ -1,6 +1,7 @@
//! Trait definition for [`Decode`].
use crate::{FixedTag, Header, Reader, Result, SliceReader};
+use core::marker::PhantomData;
#[cfg(feature = "pem")]
use crate::{pem::PemLabel, PemReader};
@@ -38,6 +39,17 @@ where
}
}
+/// Dummy implementation for [`PhantomData`] which allows deriving
+/// implementations on structs with phantom fields.
+impl<'a, T> Decode<'a> for PhantomData<T>
+where
+ T: ?Sized,
+{
+ fn decode<R: Reader<'a>>(_reader: &mut R) -> Result<PhantomData<T>> {
+ Ok(PhantomData)
+ }
+}
+
/// Marker trait for data structures that can be decoded from DER without
/// borrowing any data from the decoder.
///