#![doc = include_str!("../README.md")]
pub mod os;
mod group;
mod user;
pub use group::*;
pub use user::*;
use std::fmt;
use std::io;
mod private {
pub trait Sealed {}
}
#[derive(Debug)]
pub enum Error {
NoRecord,
Io(io::Error),
}
impl Error {
#[cfg(unix)]
fn last_os_error() -> Self {
Self::Io(io::Error::last_os_error())
}
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
Self::NoRecord => write!(f, "No record is found"),
Self::Io(ref err) => fmt::Display::fmt(err, f),
}
}
}
impl std::error::Error for Error {}
impl From<io::Error> for Error {
fn from(err: io::Error) -> Self {
Error::Io(err)
}
}