type quux = rec(int bar);
fn g(&int i) { }
fn f(@@quux foo) {
g(foo.bar);
}
fn main() {}
Yields
rt: 8994:main:main: upcall fail 'non-exhaustive match failure', ../src/comp/middle/alias.rs:546
It is hitting a non-exhaustive match because only one of the boxes around foo is being pulled away.