// Test static calls to make sure that we align the Self and input | |
// type parameters on a trait correctly. | |
trait Tr<T> : Sized { | |
fn op(_: T) -> Self; | |
} | |
trait A: Tr<Self> { | |
fn test<U>(u: U) -> Self { | |
Tr::op(u) //~ ERROR E0277 | |
} | |
} | |
trait B<T>: Tr<T> { | |
fn test<U>(u: U) -> Self { | |
Tr::op(u) //~ ERROR E0277 | |
} | |
} | |
fn main() { | |
} |