refined 0.3.1

Simple refinement types; parse, don't validate!
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use core::marker::PhantomData;

use crate::boolean::*;

use super::Implies;

impl<F1, T1, F2, T2> Implies<And<T1, T2>> for And<F1, F2>
where
    F1: Implies<T1>,
    F2: Implies<T2>,
{
    fn imply(self) -> And<T1, T2> {
        And::<T1, T2>(PhantomData, PhantomData)
    }
}