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

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

fn main() {
}