trait Array<'a> {
    type Element: 'a;
}

trait Visit {
    fn visit() {}
}

impl<'a> Array<'a> for () {
    type Element = &'a ();
}

impl Visit for () where
    //(): for<'a> Array<'a, Element=&'a ()>, // No ICE
    (): for<'a> Array<'a, Element=()>, // ICE
{}

fn main() {
    <() as Visit>::visit();
    //~^ ERROR type mismatch resolving `for<'a> <() as Array<'a>>::Element == ()`
}
