redgold_schema/errors/
into_error.rs1use crate::structs::ErrorInfo;
2use crate::{error_info, RgResult};
3
4
5pub trait ToErrorInfo {
6 fn to_error<T>(&self) -> RgResult<T>;
7 fn to_error_info(&self) -> ErrorInfo;
8}
9
10impl ToErrorInfo for String {
11 fn to_error<T>(&self) -> RgResult<T> {
12 Err(error_info(self))
13 }
14 fn to_error_info(&self) -> ErrorInfo {
15 error_info(self)
16 }
17}
18
19
20impl TryFrom<String> for ErrorInfo {
21 type Error = ErrorInfo;
22
23 fn try_from(value: String) -> Result<Self, Self::Error> {
24 value.to_error()
25 }
26}
27
28impl ToErrorInfo for &str {
29 fn to_error<T>(&self) -> RgResult<T> {
30 Err::<T, ErrorInfo>(error_info(self.to_string()))
31
32 }
33 fn to_error_info(&self) -> ErrorInfo {
34 error_info(self.to_string())
35 }
36}