zerror_core 0.17.0

A complete implementation of the zerror:Z trait.
Documentation
use zerror::{Z, iotoz};
use zerror_core::ErrorCore;
use zerror_derive::Z;

#[derive(Z)]
pub enum SampleError {
    Success { core: ErrorCore },
    Failure { core: ErrorCore },
    FailureWithString { core: ErrorCore, what: String },
}

iotoz! {SampleError}

#[test]
fn core() {
    let err = SampleError::Success {
        core: ErrorCore::default(),
    };
    let _core = err.core();
    let err = SampleError::Failure {
        core: ErrorCore::default(),
    };
    let _core = err.core();
    let err = SampleError::FailureWithString {
        core: ErrorCore::default(),
        what: "Some string".to_owned(),
    };
    let _core = err.core();
}

#[test]
fn core_mut() {
    let mut err = SampleError::Success {
        core: ErrorCore::default(),
    };
    let _core = err.core_mut();
    let mut err = SampleError::Failure {
        core: ErrorCore::default(),
    };
    let _core = err.core_mut();
    let mut err = SampleError::FailureWithString {
        core: ErrorCore::default(),
        what: "Some string".to_owned(),
    };
    let _core = err.core_mut();
}