1 // Test that we enforce a `&'static` requirement that is only visible
2 // after normalization.
4 trait Foo { type Out; }
5 impl Foo for () { type Out = &'static u32; }
6 impl<'a> Foo for &'a () { type Out = &'a u32; }
10 let _: <() as Foo>::Out = &a; //~ ERROR
13 let _: <&'static () as Foo>::Out = &a; //~ ERROR
16 let _: <&'_ () as Foo>::Out = &a;