mirror of https://github.com/rust-lang/rust
22 lines
368 B
Rust
22 lines
368 B
Rust
// 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() {
|
|
}
|