#[derive(Debug)]
pub enum EtcPasswdParseError
{
Io(io::Error),
#[allow(missing_docs)]
MissingLastLineFeed,
#[allow(missing_docs)]
MissingNameField,
#[allow(missing_docs)]
MissingPasswordField,
PasswordFieldIsInvalid,
#[allow(missing_docs)]
MissingUidField,
#[allow(missing_docs)]
ParseNumberUid(ParseNumberError),
#[allow(missing_docs)]
MissingGidField,
#[allow(missing_docs)]
ParseNumberGid(ParseNumberError),
#[allow(missing_docs)]
MissingGecosField,
#[allow(missing_docs)]
MissingHomeDirectoryField,
#[allow(missing_docs)]
MissingShellField,
}
impl Display for EtcPasswdParseError
{
#[inline(always)]
fn fmt(&self, f: &mut Formatter) -> fmt::Result
{
Debug::fmt(self, f)
}
}
impl error::Error for EtcPasswdParseError
{
#[inline(always)]
fn source(&self) -> Option<&(dyn error::Error + 'static)>
{
use self::EtcPasswdParseError::*;
match self
{
&Io(ref cause) => Some(cause),
&MissingLastLineFeed => None,
&MissingNameField => None,
&MissingPasswordField => None,
&PasswordFieldIsInvalid => None,
&MissingUidField => None,
&ParseNumberUid(ref cause) => Some(cause),
&MissingGidField => None,
&ParseNumberGid(ref cause) => Some(cause),
&MissingGecosField => None,
&MissingHomeDirectoryField => None,
&MissingShellField => None,
}
}
}
impl From<io::Error> for EtcPasswdParseError
{
#[inline(always)]
fn from(cause: io::Error) -> Self
{
EtcPasswdParseError::Io(cause)
}
}