tcrts 0.1.0

Turing complete rust type system
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::*;

pub trait Append<Item> {
    type Output;
}

impl<H, T, Item> Append<Item> for Cons<H, T>
where
    T: Append<Item>,
{
    type Output = Cons<H, <T as Append<Item>>::Output>;
}

// Appending to Nil will return a list with the item
impl<Item> Append<Item> for Nil {
    type Output = Cons<Item, Nil>;
}