use std::error::Error;
use std::fmt;
#[derive(Debug)]
pub struct UnsupportedFeatureTodoError(String);
impl UnsupportedFeatureTodoError
{
fn new(feature_name: &str) -> Self
{
UnsupportedFeatureTodoError(format!(
"To request support for feature {:?}, open an issue at: {}",
feature_name, "https://github.com/DerickEddington/cfg_rust_features"
))
}
}
pub fn unsupported_feature_todo_error(feature_name: &str) -> UnsupportedFeatureTodoError
{
UnsupportedFeatureTodoError::new(feature_name)
}
impl Error for UnsupportedFeatureTodoError
{
fn description(&self) -> &str
{
&self.0
}
}
impl fmt::Display for UnsupportedFeatureTodoError
{
fn fmt<'f>(
&self,
f: &mut fmt::Formatter<'f>,
) -> fmt::Result
{
f.write_str(&self.0)
}
}
#[derive(Debug)]
pub struct VersionCheckError;
impl Error for VersionCheckError
{
fn description(&self) -> &str
{
"version_check error"
}
}
impl fmt::Display for VersionCheckError
{
fn fmt<'f>(
&self,
f: &mut fmt::Formatter<'f>,
) -> fmt::Result
{
f.write_str(self.description())
}
}