Today is not my day! I was trying to create a test case for another bug and I bumped into this ICE:
fn foo() -> (int, int) {
(0, return (0, 0))
}
fn main() {}
I don't think this is a useful pattern (the original involved a try! which I had simplified to return just for the sake of bug reproduction --- with try! it doesn't ICE) but it probably shouldn't ICE.