blob: 352ad7be3d3a75574e97fc2dd45aaca8463d3182 [file]
//@ compile-flags: -Znext-solver=globally
// Regression test for issue https://github.com/rust-lang/rust/issues/151330
trait Supertrait<T> {}
trait Trait<P>: Supertrait {}
//~^ ERROR missing generics for trait `Supertrait`
//~| ERROR missing generics for trait `Supertrait`
//~| ERROR missing generics for trait `Supertrait`
impl<P> Trait<P> for () {}
const fn upcast<P>(x: &dyn Trait<P>) -> &dyn Trait<P> {
x
}
const fn foo() -> &'static dyn Supertrait<()> {
upcast::<()>(&())
}
const _: &'static dyn Supertrait<()> = foo();
fn main() {}