elliptic_curve/
error.rs

1//! Error type.
2
3use core::fmt::{self, Display};
4
5#[cfg(feature = "pkcs8")]
6use crate::pkcs8;
7
8/// Result type with the `elliptic-curve` crate's [`Error`] type.
9pub type Result<T> = core::result::Result<T, Error>;
10
11/// Elliptic curve errors.
12#[derive(Copy, Clone, Debug, Eq, PartialEq)]
13pub struct Error;
14
15impl Display for Error {
16    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17        f.write_str("crypto error")
18    }
19}
20
21impl From<base16ct::Error> for Error {
22    fn from(_: base16ct::Error) -> Error {
23        Error
24    }
25}
26
27#[cfg(feature = "pkcs8")]
28impl From<pkcs8::Error> for Error {
29    fn from(_: pkcs8::Error) -> Error {
30        Error
31    }
32}
33
34#[cfg(feature = "sec1")]
35impl From<sec1::Error> for Error {
36    fn from(_: sec1::Error) -> Error {
37        Error
38    }
39}
40
41#[cfg(feature = "std")]
42impl std::error::Error for Error {}