summaryrefslogtreecommitdiffstats
path: root/vendor/der/src/asn1/ia5_string.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
commit9918693037dce8aa4bb6f08741b6812923486c18 (patch)
tree21d2b40bec7e6a7ea664acee056eb3d08e15a1cf /vendor/der/src/asn1/ia5_string.rs
parentReleasing progress-linux version 1.75.0+dfsg1-5~progress7.99u1. (diff)
downloadrustc-9918693037dce8aa4bb6f08741b6812923486c18.tar.xz
rustc-9918693037dce8aa4bb6f08741b6812923486c18.zip
Merging upstream version 1.76.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/der/src/asn1/ia5_string.rs')
-rw-r--r--vendor/der/src/asn1/ia5_string.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/vendor/der/src/asn1/ia5_string.rs b/vendor/der/src/asn1/ia5_string.rs
index c3f24f01c..1b06dcef9 100644
--- a/vendor/der/src/asn1/ia5_string.rs
+++ b/vendor/der/src/asn1/ia5_string.rs
@@ -90,8 +90,9 @@ mod allocation {
use crate::{
asn1::AnyRef,
referenced::{OwnedToRef, RefToOwned},
- FixedTag, Result, StrOwned, Tag,
+ Error, FixedTag, Result, StrOwned, Tag,
};
+ use alloc::string::String;
use core::{fmt, ops::Deref};
/// ASN.1 `IA5String` type.
@@ -165,6 +166,18 @@ mod allocation {
}
}
}
+
+ impl TryFrom<String> for Ia5String {
+ type Error = Error;
+
+ fn try_from(input: String) -> Result<Self> {
+ Ia5StringRef::new(&input)?;
+
+ StrOwned::new(input)
+ .map(|inner| Self { inner })
+ .map_err(|_| Self::TAG.value_error())
+ }
+ }
}
#[cfg(test)]