The following code causes an internal compiler error:
fn foo<T>() {
let _x: Bar<T> = Bar{ arr: &[] };
}
struct Bar<T> {
arr: &[T],
}
fn test_foo() {
foo::<()>();
}
Switching the &[T] to a Option<T> makes it go away.
Backtrace here: https://gist.github.com/3924593