Sha256: 0dbd1942f756b76498223d815a3ab82e3e0ab3ef2680387dd89ad5d2f41b6d56
Contents?: true
Size: 1.12 KB
Versions: 4
Compression:
Stored size: 1.12 KB
Contents
//! Error returned during meta code-generation. use std::fmt; use std::io; /// An error that occurred when the cranelift_codegen_meta crate was generating /// source files for the cranelift_codegen crate. #[derive(Debug)] pub struct Error { inner: Box<ErrorInner>, } impl Error { /// Create a new error object with the given message. pub fn with_msg<S: Into<String>>(msg: S) -> Error { Error { inner: Box::new(ErrorInner::Msg(msg.into())), } } } impl std::error::Error for Error {} impl fmt::Display for Error { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", self.inner) } } impl From<io::Error> for Error { fn from(e: io::Error) -> Self { Error { inner: Box::new(ErrorInner::IoError(e)), } } } #[derive(Debug)] enum ErrorInner { Msg(String), IoError(io::Error), } impl fmt::Display for ErrorInner { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { ErrorInner::Msg(ref s) => write!(f, "{s}"), ErrorInner::IoError(ref e) => write!(f, "{e}"), } } }
Version data entries
4 entries across 4 versions & 1 rubygems