// check-fail // // regression test for #68295 struct Matrix(R, C, S); impl Matrix { fn into_owned(self) -> Matrix> where (): Allocator, { unimplemented!() } } impl Matrix { fn hermitian_part(&self) -> Matrix> where (): Allocator, { unimplemented!() } } trait Allocator { type Buffer; } trait Trait { type Power; } impl> Trait for () { type Power = A::Buffer; } type Owned = >::Power; fn crash(input: Matrix) -> Matrix where (): Allocator, { input.into_owned() //~^ ERROR mismatched types [E0308] } fn main() {}