//@ compile-flags: -Znext-solver | |
// Make sure that, like the old trait solver, we end up requiring that the WC of | |
// impl GAT matches that of the trait. This is not a restriction that we *need*, | |
// but is a side-effect of registering the where clauses when normalizing the GAT | |
// when proving it satisfies its item bounds. | |
trait Foo { | |
type T<'a>: Sized where Self: 'a; | |
} | |
impl Foo for &() { | |
type T<'a> = (); //~ ERROR the type `&()` does not fulfill the required lifetime | |
} | |
fn main() {} |