//@ revisions: current next //@ ignore-compare-mode-next-solver (explicit revisions) //@[next] compile-flags: -Znext-solver // Exercises change in . struct MyType<'a, T: ?Sized>(&'a (), T); fn is_sized() {} fn foo<'a, T: ?Sized>() where (MyType<'a, T>,): Sized, MyType<'static, T>: Sized, { // Preferring the builtin `Sized` impl of tuples // requires proving `MyType<'a, T>: Sized` which // can only be proven by using the where-clause, // adding an unnecessary `'static` constraint. is_sized::<(MyType<'a, T>,)>(); //~^ ERROR lifetime may not live long enough } fn main() {}