Skip to main content

elliptic_curve/
error.rs

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