diff options
Diffstat (limited to 'vendor/der/src/asn1/oid.rs')
-rw-r--r-- | vendor/der/src/asn1/oid.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/vendor/der/src/asn1/oid.rs b/vendor/der/src/asn1/oid.rs index 8b287183d..3daa452b2 100644 --- a/vendor/der/src/asn1/oid.rs +++ b/vendor/der/src/asn1/oid.rs @@ -6,6 +6,9 @@ use crate::{ }; use const_oid::ObjectIdentifier; +#[cfg(feature = "alloc")] +use super::Any; + impl<'a> DecodeValue<'a> for ObjectIdentifier { fn decode_value<R: Reader<'a>>(reader: &mut R, header: Header) -> Result<Self> { let mut buf = [0u8; ObjectIdentifier::MAX_SIZE]; @@ -24,7 +27,7 @@ impl EncodeValue for ObjectIdentifier { Length::try_from(self.as_bytes().len()) } - fn encode_value(&self, writer: &mut dyn Writer) -> Result<()> { + fn encode_value(&self, writer: &mut impl Writer) -> Result<()> { writer.write(self.as_bytes()) } } @@ -50,6 +53,13 @@ impl<'a> From<&'a ObjectIdentifier> for AnyRef<'a> { } } +#[cfg(feature = "alloc")] +impl From<ObjectIdentifier> for Any { + fn from(oid: ObjectIdentifier) -> Any { + AnyRef::from(&oid).into() + } +} + impl TryFrom<AnyRef<'_>> for ObjectIdentifier { type Error = Error; |