From 823169f52e7e55d6b037d40be04569b46210c100 Mon Sep 17 00:00:00 2001 From: dishmaker <141624503+dishmaker@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:11:48 +0200 Subject: [PATCH 1/2] der: add docs for `Error` and `ErrorKind` --- der/src/error.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/der/src/error.rs b/der/src/error.rs index aeb10b8b9..6912f77cd 100644 --- a/der/src/error.rs +++ b/der/src/error.rs @@ -15,6 +15,22 @@ use crate::pem; pub type Result = core::result::Result; /// Error type. +/// +/// ## Example +/// ``` +/// use der::{Decode, ErrorKind, Reader}; +/// +/// struct MyDecodable; +/// +/// impl<'a> Decode<'a> for MyDecodable { +/// type Error = der::Error; +/// +/// fn decode>(reader: &mut R) -> Result { +/// // Error implements From +/// Err(ErrorKind::OidMalformed.into()) +/// } +/// } +/// ``` #[derive(Copy, Clone, Debug, Eq, PartialEq)] pub struct Error { /// Kind of error. @@ -162,6 +178,15 @@ impl From for Error { } /// Error type. +/// +/// # Example +/// ``` +/// use der::{asn1::OctetStringRef, Decode, ErrorKind}; +/// +/// let err = <&OctetStringRef>::from_der(&[0x04, 0x80, 0x00]).unwrap_err(); +/// +/// assert_eq!(err.kind(), ErrorKind::IndefiniteLength); +/// ``` #[derive(Copy, Clone, Debug, Eq, PartialEq)] #[non_exhaustive] pub enum ErrorKind { From 69940ded87c5a6a13703935e425965d2cb72050c Mon Sep 17 00:00:00 2001 From: dishmaker <141624503+dishmaker@users.noreply.github.com> Date: Thu, 9 Oct 2025 15:23:26 +0200 Subject: [PATCH 2/2] der: reader.error(..) example --- der/src/error.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/der/src/error.rs b/der/src/error.rs index 6912f77cd..215daf159 100644 --- a/der/src/error.rs +++ b/der/src/error.rs @@ -26,8 +26,7 @@ pub type Result = core::result::Result; /// type Error = der::Error; /// /// fn decode>(reader: &mut R) -> Result { -/// // Error implements From -/// Err(ErrorKind::OidMalformed.into()) +/// Err(reader.error(ErrorKind::OidMalformed)) /// } /// } /// ```