// compile-flags: -Ztrait-solver=next
// From #80800
trait SuperTrait {
type A;
type B;
}
trait Trait: SuperTrait::B> {}
fn transmute(x: A) -> B {
foo::>(x)
//~^ ERROR the trait bound `dyn Trait: Trait` is not satisfied
}
fn foo(x: T::A) -> B
where
T: Trait,
{
x
}
static X: u8 = 0;
fn main() {
let x = transmute::<&u8, &[u8; 1_000_000]>(&X);
println!("{:?}", x[100_000]);
}