diff --git a/der/src/asn1/integer/int.rs b/der/src/asn1/integer/int.rs index 0da6c93de..76fc5aba7 100644 --- a/der/src/asn1/integer/int.rs +++ b/der/src/asn1/integer/int.rs @@ -3,7 +3,7 @@ use super::{is_highest_bit_set, uint, value_cmp}; use crate::{ AnyRef, BytesRef, DecodeValue, EncodeValue, Error, ErrorKind, FixedTag, Header, Length, Reader, - Result, Tag, ValueOrd, Writer, ord::OrdIsValueOrd, + Result, Tag, ValueOrd, Writer, ord::OrdIsValueOrd, referenced::OwnedToRef, }; use core::cmp::Ordering; @@ -180,6 +180,16 @@ impl FixedTag for IntRef<'_> { impl OrdIsValueOrd for IntRef<'_> {} +impl<'a> OwnedToRef for IntRef<'a> { + type Borrowed<'b> + = IntRef<'a> + where + 'a: 'b; + fn owned_to_ref(&self) -> Self::Borrowed<'a> { + *self + } +} + #[cfg(feature = "alloc")] mod allocating { use super::{IntRef, strip_leading_ones, validate_canonical}; diff --git a/der/src/asn1/integer/uint.rs b/der/src/asn1/integer/uint.rs index c0b6f87c9..de046046d 100644 --- a/der/src/asn1/integer/uint.rs +++ b/der/src/asn1/integer/uint.rs @@ -3,7 +3,7 @@ use super::value_cmp; use crate::{ AnyRef, BytesRef, DecodeValue, EncodeValue, Error, ErrorKind, FixedTag, Header, Length, Reader, - Result, Tag, ValueOrd, Writer, ord::OrdIsValueOrd, + Result, Tag, ValueOrd, Writer, ord::OrdIsValueOrd, referenced::OwnedToRef, }; use core::cmp::Ordering; @@ -169,6 +169,16 @@ impl FixedTag for UintRef<'_> { impl OrdIsValueOrd for UintRef<'_> {} +impl<'a> OwnedToRef for UintRef<'a> { + type Borrowed<'b> + = UintRef<'a> + where + 'a: 'b; + fn owned_to_ref(&self) -> Self::Borrowed<'a> { + *self + } +} + #[cfg(feature = "alloc")] mod allocating { use super::{UintRef, decode_to_slice, encoded_len, strip_leading_zeroes};