fn interpret_closure() {
    let mut interner = Interner::new();
    let int = interner.intern("I32");
    let closure = interner.intern("fun¤0");
    assert_parse!(interner {
        let fun: ([,] -> I32) = {
            let x: I32 = 1
            [,] -> I32 {
                x
            }
        }
        let y: I32 = fun[,]
    }{
        fun => TyVal::unchecked(Invalid, Function(Box::new(Tuple(vec![])), Box::new(Named(int)), Some(closure)))
        y => TyVal::unchecked(Int(1), Named(int))
    }{
        x => TyVal::unchecked(Invalid, Named(int))
    });
}
// TODO: Need to implement super type for closures to be able to do these tests.
Need to implement super type for closures to be able to do these tests.
Need to implement super type for closures to be able to do these tests .
fn interpret_closure() {
    let mut interner = Interner::new();
    let int = interner.intern("I32");
    let closure = interner.intern("fun¤0");
    assert_parse!(interner {
        let fun: ([,] -> I32) = {
            let x: I32 = 1
            [,] -> I32 {
                x
            }
        }
        let y: I32 = fun[,]
    }{
        fun => TyVal::unchecked(Invalid, Function(Box::new(Tuple(vec![])), Box::new(Named(int)), Some(closure)))
        y => TyVal::unchecked(Int(1), Named(int))
    }{
        x => TyVal::unchecked(Invalid, Named(int))
    });
}
fn interpret_closure ( ) { let mut interner = Interner :: new ( ) ; let int = interner . intern ( " " ) ; let closure = interner . intern ( " ) ; assert_parse ! ( interner { let fun ( [ ] I32 ) { let x I32 1 [ ] I32 { x } } let y I32 fun [ ] } { fun TyVal unchecked ( Invalid Function ( Box new ( Tuple ( vec [ ] ) ) Box new ( Named ( int ) ) Some ( closure ) ) ) y TyVal unchecked ( Int ( 1 ) Named ( int ) ) } { x TyVal unchecked ( Invalid Named ( int ) ) } ) ; }
TODO: Need to implement super type for closures to be able to do these tests.
TODO : Need to implement super type for closures to be able to do these tests .