validit 0.2.5

Validate data structures internal state
Documentation
extern crate test;
use std::error::Error;

use test::Bencher;
use test::black_box;

use crate::Valid;
use crate::Validate;
use crate::less_equal;

struct Foo {
    a: u64,
}

impl Validate for Foo {
    fn validate(&self) -> Result<(), Box<dyn Error>> {
        less_equal!(self.a, 10);
        Ok(())
    }
}

#[bench]
fn valid_deref(b: &mut Bencher) {
    let f = Valid::new(Foo { a: 5 });

    b.iter(|| {
        let _x = black_box(f.a);
    })
}