There is an ICE from the check_static pass, due to a match that has a bunch of cases that lead to unreachable!. I think this particular case is the mc::cat_local.
here is the test case (this code is meant to be rejected, but not ICE):
pub fn main() {
static x : int = 3i;
let y = {
static z: Box<&'static int> = {
let p = x;
let a = &p;
box a
};
z
};
}
playpen link