nell 0.3.0

Linux netlink interface
Documentation
// Copyright (C) 2020 - Will Glozer. All rights reserved.

use std::array::TryFromSliceError;
use std::fmt;
use std::str::Utf8Error;

#[derive(Debug)]
pub enum Invalid {
    Encoding(Utf8Error),
    Family(u8),
    Length(usize),
    Slice(TryFromSliceError),
}

impl From<Utf8Error> for Invalid {
    fn from(err: Utf8Error) -> Self {
        Invalid::Encoding(err)
    }
}

impl From<TryFromSliceError> for Invalid {
    fn from(err: TryFromSliceError) -> Self {
        Invalid::Slice(err)
    }
}

impl std::error::Error for Invalid {}

impl fmt::Display for Invalid {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{:?}", self)
    }
}