enum ast/& {
    num(uint),
    add(&ast, &ast)
}

fn mk_add_bad2(x: &a.ast, y: &a.ast, z: &ast) -> ast {
    add(x, y) //~ ERROR mismatched types: expected `ast/&` but found `ast/&a`
}

fn main() {
}