wl-client 0.2.0

Safe client-side libwayland wrapper
Documentation
use std::{io, io::ErrorKind};

#[cfg(test)]
mod tests;

#[derive(Copy, Clone)]
pub(crate) enum OsError {
    Os(i32),
    Kind(ErrorKind),
}

impl From<io::Error> for OsError {
    fn from(value: io::Error) -> Self {
        match value.raw_os_error() {
            Some(e) => Self::Os(e),
            None => Self::Kind(value.kind()),
        }
    }
}

impl From<OsError> for io::Error {
    fn from(value: OsError) -> Self {
        match value {
            OsError::Os(e) => Self::from_raw_os_error(e),
            OsError::Kind(k) => k.into(),
        }
    }
}