diff --git a/src/authenticator.rs b/src/authenticator.rs index 9808599..9f7c642 100644 --- a/src/authenticator.rs +++ b/src/authenticator.rs @@ -255,7 +255,7 @@ where Err(err) => err.to_string(), }; return Err(Box::new(StringError::new( - storage_err + err_str, + &(storage_err + err_str), err_description.as_ref(), ))); } diff --git a/src/service_account.rs b/src/service_account.rs index aa8862a..b927a76 100644 --- a/src/service_account.rs +++ b/src/service_account.rs @@ -306,8 +306,8 @@ where || token.expires_in.is_none() { Err(Box::new(StringError::new( - "Token response lacks fields".to_string(), - Some(&format!("{:?}", token)), + "Token response lacks fields", + Some(format!("{:?}", token).as_str()), ))) } else { Ok(token.to_oauth_token()) diff --git a/src/types.rs b/src/types.rs index 44a7d4e..fe3dd1c 100644 --- a/src/types.rs +++ b/src/types.rs @@ -88,11 +88,11 @@ impl fmt::Display for StringError { } impl StringError { - pub fn new(error: String, desc: Option<&String>) -> StringError { - let mut error = error; + pub fn new>(error: S, desc: Option) -> StringError { + let mut error = error.as_ref().to_string(); if let Some(d) = desc { error.push_str(": "); - error.push_str(&*d); + error.push_str(d.as_ref()); } StringError { error: error }